指令重排序
什么是重排序
编译器和处理器为了提高程序的运行性能,对指令进行重新排序。
数据依赖性(as-if-serial)
写后读,读后写,写后写
指令重排序分类
编译器重排序和处理器重排序
为什么要进行指令重排序
指令重排序所带来的影响
竞争与同步
从JVM并发看CPU内存指令重排序(Memory Reordering)
当目标CPU具有乱序执行的能力时,编译器做指令重排序优化的意义有多大?
如何理解happens-before中的程序顺序规则和编译器的指令重排序?
深入理解 Java 内存模型 (JMM) 及 volatile 关键字
https://www.zhihu.com/question/46355298