java 内存模型基础总结
2015-03-24 00:47
232 查看
Java内存模型:如图1
线程通信:如图2
重排序:程序效率
happens-before:满足即不会重排序(可见性判断法则)
(只要你的程序中A HB B,那么B就能看到A的操作(无论A/B是否是同一个线程))
内存屏障指令:禁止重排序的实现
数据依赖性:单个线程中存在即不会重排(as-if-serial判断法则)
as-if-serial:保证重排对单个线程的结果无影响
数据竞争:正确同步则没有竞争且具有顺序一致性
顺序一致性:保证可见性和一致性
同步:包括对常用同步原语(lock,volatile和final)的正确使用
线程通信:如图2
重排序:程序效率
happens-before:满足即不会重排序(可见性判断法则)
(只要你的程序中A HB B,那么B就能看到A的操作(无论A/B是否是同一个线程))
内存屏障指令:禁止重排序的实现
数据依赖性:单个线程中存在即不会重排(as-if-serial判断法则)
as-if-serial:保证重排对单个线程的结果无影响
数据竞争:正确同步则没有竞争且具有顺序一致性
顺序一致性:保证可见性和一致性
同步:包括对常用同步原语(lock,volatile和final)的正确使用
相关文章推荐
- 深入理解Java虚拟机笔记--JVM内存模型及溢出问题总结
- 深入学习java并发编程:内存模型(一)基础
- 理解 JVM:Java 内存模型之(基础)
- 简述JVM基础(七): Java 内存模型与线程
- Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties
- java并发编程学习(四) java 内存模型的基础
- Java基础复习一之多线程(并发,内存模型)
- 《深入理解 Java 内存模型》笔记总结
- 【Java基础】线程笔记——内存模型
- java 内存模型的基础
- java基础总结 -- 泛型 在类、接口、方法、匿名类、元组等使用 堆栈例子 商店模型
- Java基础学习总结(96)——Java虚拟机JVM及Tomcat中的JVM有关内存的设置与调优
- Java面向对象基础__方法、对象的内存模型
- Java多线程和内存模型(一):进程和线程基础
- 黑马程序员--02.Java语言基础--03.堆内存和栈内存的区别【个人总结】
- 2.23Java基础总结 ①内存图,内存加载过程②内存叠加③动态绑定
- Java基础学习总结(71)——深入理解Java虚拟机内存
- Java基础学习总结(30)——Java 内存溢出问题总结
- Java基础之jdk1.8 JVM内存模型简述,含String常量池简单分析
- Java 线程/内存模型的缺陷和增强-Java基础-Java-编程开发