谈谈对volatile的理解
1.volatile是java虚拟机提供的轻量级的同步机制(对应重量级的是sychronized)
三大特性:
①保证可见性
②不保证原子性
③禁止指令重排序
2.JMM:java memory model java内存模型
工作内存
主内存
最终 保证可见性
3.不保证原子性:
原子性:某个线程正在做某个具体业务的时候,中间不可以被加塞或者分割,需要整体完整,要么同时成功 要么同时失败。
解决原子性的方法? 加sync
使用juc下的automicInteger
4.指令重排序:

浙公网安备 33010602011771号