查阅地址为:
http://ifeve.com/java-memory-model-2/
数据依赖性
1、单线程中,前后两个操作如果有数据依赖:写后读,读后写,写后写,编译器和处理器将不做重排序
as-if-serial
1、as-if-seral的意思是无论采取怎样的序列执行,单线程的执行结果都不会变,处理器可以重排序执行的顺序,它为程序员提供一种幻境:程序是按顺序执行的,但其实编译器和处理器由于性能上的考虑已经做了重排序
程序执行顺序
1、
如果程序的执行满足as-if-serial,即使a happens before b,a执行的结果不需要对b可见,JMM会认为这个执行是合法的
2、在不改变程序执行结果的条件下,尽可能的提高并发性,JMM很好的遵从了这个目标
3、
在单线程中,编译器和处理器会对控制依赖做重排序,它不会改变执行的结果
分享到:
相关推荐
深入理解Java虚拟机学习笔记借鉴.pdf
深入理解LINUX内存管理学习笔记
Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习...
《深入理解LINUX内存管理》学习笔记b.PDF
《深入理解LINUX内存管理》学习笔记a.PDF
Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记Java学习笔记
Java基础 java学习笔记 Java Java基础Markdown学习笔记,可转换成PDF、Word等格式
Java JDK 7学习笔记 PDF
Java JDK 7学习笔记 此学习笔记适合初学者完成学习总结,加深理解 Java JDK 7学习笔记 此学习笔记适合初学者完成学习总结,加深理解
JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记JAVA学习笔记
《深入理解LINUX内存管理》学习笔记c.PDF
《深入理解linux内存管理》学习笔记 Linux 高阶学习
JVM深入理解Java虚拟机 - 学习笔记
[奥莱理] Java 8 Lambdas 学习笔记 [奥莱理] Java 8 Lambdas 学习笔记 [奥莱理] Java 8 Lambdas 学习笔记 [奥莱理] Java 8 Lambdas 学习笔记 [奥莱理] Java 8 Lambdas 学习笔记 [奥莱理] Java 8 Lambdas 学习笔记 ...
java学习笔记java学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记.zipjava学习笔记...
《深入理解LINUX内存管理》学习笔记,亲生体会,详细记录
良葛格java jdk 5.0学习笔记,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip,良葛格java jdk 5.0学习笔记.zip。
Java JDK 6学习笔记.zipJava JDK 6学习笔记.zip Java JDK 6学习笔记.zip Java JDK 6学习笔记.zip
Java数据结构学习笔记