- 博客(8)
- 收藏
- 关注
原创 五、ThreadLocal
使用场景: ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景。 例如多线程中SimpleDateFormat中的格式化,它是非线程安全的,使用肯定是不妥;如果加锁呢?那必定会影响效率,每次创建实例也是一样的。 可以通过Thread...
2018-12-10 16:15:46
260
原创 四、Thread类中的静态方法
1、静态方法等的调用者 Thread类中的静态方法表示操作的线程是"正在执行静态方法所在的代码块的线程"。 为什么Thread类中要有静态方法? 这样就能对CPU当前正在运行的线程进行操作。下面来看一下Thread类中的静态方法: currentThread()方法返回的是对当前正在执行线程实例对象的引用 代码示例: public class Curr_JobRun extends Threa...
2018-12-05 11:33:02
1851
原创 三、synchronized锁机制
一、synchronized锁机制 1、同步锁 脏读:一个常见的概念。在多线程中,难免会出现在多个线程中对同一个对象的实例变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实是被更改过的。 示例: public class Lock_JobRun extends Thread{ private String str; private Lo...
2018-12-05 10:50:25
363
原创 二、多线程[wait()和notify()/notifyAll()]
一、 wait()和notify()/notifyAll() 锁,这里讲的就是同步锁,同步执行的锁,释放完之后“锁”之后就丧失了执行能力了,直到notify通知到wait方法, (notify并不是释放锁),只是通知wait可以去竞争锁了,wait并不是立刻得到锁,锁在别人手里,等待别人释放。 为什么要用这个 ? 线程本身是操作系统中独立的个体,但是线程与线程之间不是独立的个体,因为它们彼此之...
2018-12-05 10:09:37
289
原创 一、多线程[创建,interrupt,setDaemon,getPriority,isAlive等]
一、多线程简介 在CPU上的线程,执行一个任务,宏观当然是同时执行的,但微观里的确实串行执行的,CPU通过线程中断,让某一个线程挂起来,然后切换到另一个线程,执行一会儿,再切换回来。但是线程切换来回会牺牲一定的性能,如果增加CPU那么线程是可以达到并行的。 联想下我们去买电影票,先不说可以网上购买,那么们去买票人一多就要排队去, 还是得等待(这种性质就是同步) 扯下皮:如果大家都不排队了,在你正...
2018-12-05 00:04:33
250
原创 泛型原理、概念、使用
泛型简介/原理 1、从JDK1.4开始是没有泛型的概念的,那怎么做呢?如下列代码 List list = new ArrayList(); list.add("string"); list.add(11); String name = (String)list.get(0); Integer number = (Integer)list.get(1); △这样子做有什么缺点呢
2018-11-07 17:37:33
464
原创 项目迭代
项目迭代 1、流程图 需求分析开发测试评估开发测试回归 (1)需求分析 产品经理将功能设计好成“PRD”“原型”"设计稿"提供出来 准备好这些东西以后就可以定版 ☆在产品和开发(经理)聊的时候可能会有变动,而未将最新的PRD给到我们,而已经我们着手去开发,这变动可能会影响我们估的开发时间 (2)开发评估预计测试 评估时间 评估的时候不会针对需求进行评估,会对之前的代码也进行评估 △例如 “增加不可...
2018-11-01 00:51:20
5144
原创 Linux上Redis安装
Linux上Redis安装Reids安装下载Reids Reids安装 下载Reids url: https://redis.io/download 拷到Linux某个目录 例如:桌面,创建redis并拷到目录下,命令:‘[root@study 桌面]# mkdir /usr/local/redis [root@study ~]# mv /home/banana/桌面/redis-4.0.1...
2018-10-10 14:20:40
340
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅