CPU的乱序执行
单例模式为什么要双重检查锁
CPU层面如何禁止指令重排序?
intel 原语
lfence:读屏障
mfence:读写屏障
sfence:写屏障
原语内存屏障汇编层面
Lock指令实现
执行时会锁住总线。
JVM 实现 volutile :使用lock指令 laddl 0x0 esp
JVM规范实现内存屏障
JVM层面的hanppens-before原则
As if serial
不管硬件什么顺序,单线程的执行结果不变,看上去像serial
WC buffer
在写入buffer的时候,刷到L1. 还会将数据写入到WC buffer,然后再写入L2级缓存