内存屏障与JVM指令
volatile的实现细节
字节码层面 ACC_VOLATILE
JVM层面 volatile内存区的读写 都加屏障
StoreStoreBarrier
volatile 写操作
StoreLoadBarrier
LoadLoadBarrier
volatile 读操作
LoadStoreBarrier
OS和硬件层面 https://blog.csdn.net/qq_26222859/article/details/52235930 hsdis - HotSpot Dis Assembler windows lock 指令实现 | MESI实现
synchronized实现细节
- 字节码层面 ACC_SYNCHRONIZED monitorenter monitorexit
- JVM层面 C C++ 调用了操作系统提供的同步机制
- OS和硬件层面 X86 : lock cmpxchg / xxx https (opens new window)😕/blog.csdn.net/21aspnet/article/details/ (opens new window)88571740 (opens new window)