保证有序性,可见性读操作写操作Volatile源码bytecodeInterpreter.cppstoreLoad()HotSpot的内存屏障 保证有序性,可见性与 synchronized 类似,volatile 也是通过内存屏障来保证有序性与可见性,过程如下: 读操作 写操作经过对比synchronized,可以发现 volatile 少了两个指令 monitorenter 与 monitorexit 用来保证原子性与线程安全。 Volatile源码 bytecodeInterpreter.cpp storeLoad() HotSpot的内存屏障lock指令对总线上锁,只有当前CPU能够对当前变量进行写主存的操作。