java 内存模型基础小结

java 内存模型基础总结

Java内存模型:如图1
线程通信:如图2
重排序:程序效率
happens-before:满足即不会重排序(可见性判断法则)
(只要你的程序中A HB B,那么B就能看到A的操作(无论A/B是否是同一个线程))
内存屏障指令:禁止重排序的实现
数据依赖性:单个线程中存在即不会重排(as-if-serial判断法则)
as-if-serial:保证重排对单个线程的结果无影响
数据竞争:正确同步则没有竞争且具有顺序一致性
顺序一致性:保证可见性和一致性
同步:包括对常用同步原语(lock,volatile和final)的正确使用

java 内存模型基础小结

java 内存模型基础小结