volatile 可见性与有序性原理
volatile 是 Java 并发编程的”轻量级”同步机制。它真的轻吗?从 CPU 缓存一致性到指令重排序,一篇文章说清楚。 一、为什么要理解 JMM 1.1 物理机缓存模型——CPU → L1/L2/L3 Cache → 主存 1.2 缓存一致性问题——MESI 协议简介 1.3 Java 内存模型(JMM)抽象——主内存 vs 工作内存 1.4 JMM 解决什么——原子性、可见性、有序性 二、volatile 的可见性 2.1 写 volatile 变量——立即刷回主内存 2.2 读 volatile 变量——强制从主内存读取 2.3 一个可见性问题的代码...