一、volatitle实现细节
1).字节码层面
加了一个ACC_VOLATITLE标识
2).jvm层面
volatitle内存区的读写,都加屏障
写操作:
StoreStoreBarrier
volatile 写操作
StoreLoadBarrier
读操作
LoadLoadBarrier
volatile读操作
LoadStoreBarrier
3).os和硬件层面
参考这篇文章:https://blog.csdn.net/qq_26222859/article/details/52235930
二、synchronized实现细节
1).字节码层面
同步方法:ACC_SYNCHRONIZED
同步代码块:monitorenter monitorexit
2).jvm层面
c和c++调用了操作系统提供的同步机制
3).os和硬件层面
x86:lock comxchg xxx