1.1:保证内存可见性
1.2:不保证原子性
1.3:禁止指令重排
2.1:JMM关于同步的规定:
1 线程解锁前,必须把共享变量的值刷新回主内存中
2 线程加锁前,必须读取主内存的最新值到自己的工作内存(栈空间)
3 加锁解锁是同一把锁
2.2 可见性
2.3 原子性
2.4 有序性
3.1 DCL(Doouble check lock 双端检锁机制)
添加volatile 禁止指令重排序
4.1 比较并交换
4.2 CAS底层原理?如果知道,谈谈你的Unsafe的理解
4.2.1:atomiclInteger.getAndIncreament()
4.2.2:Unsafe
4.2.3:CAS是什么
4.3 CAS 缺点
4.3.1:循环时间长开销很大
4.3.2:只能保证一个共享变量的原子操作
4.3.3:引出来ABA问题??
5.1:ABA问题是怎么产生的
5.2:原子引用
5.3:时间戳原子引用
并发修改异常
Set