深入理解Java内存模型

java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰java程序员,本文试图揭开java内存模型神秘的面纱。本文大致分三部分:重排序与顺序一致性;三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现;java内存模型的设计,及其与处理器内存模型和顺序一致性内存模型的关系。
用户头像
作者:程晓明
下载此书
深入理解Java内存模型

Java 线程之间的通信对程序员完全透明,内存可见性问题很容易困扰 java 程序员,本文试图揭开 java 内存模型神秘的面纱。本文大致分三部分:重排序与顺序一致性;三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现;java 内存模型的设计,及其与处理器内存模型和顺序一致性内存模型的关系。

本期主编:张龙

免费下载阅读

欢迎您 [DOWNLOAD] ,并为我们提出宝贵的建议。本迷你书大小为:1.3M,您需要完整下载,方可正常阅读。

本书目录

  • 基础
    • 并发编程模型的分类
    • Java 内存模型的抽象
    • 重排序
    • 处理器重排序与内存屏障指令
    • happens-before
  • 重排序
    • 数据依赖性
    • as-if-serial 语义
    • 程序顺序规则
    • 重排序对多线程的影响
  • 顺序一致性
    • 数据竞争与顺序一致性保证
    • 顺序一致性内存模型
    • 同步程序的顺序一致性效果
    • 未同步程序的执行特性
  • VOLATILE
    • volatile 的特性
    • volatile 写 - 读建立的 happens before 关系
    • volatile 写 - 读的内存语义
    • volatile 内存语义的实现
    • JSR-133 为什么要增强 volatile 的内存语义
    • 锁的释放 - 获取建立的 happens before 关系
    • 锁释放和获取的内存语义
    • 锁内存语义的实现
    • concurrent 包的实现
  • FINAL
    • 写 final 域的重排序规则
    • 读 final 域的重排序规则
    • 如果 final 域是引用类型
    • 为什么 final 引用不能从构造函数内“逸出”
    • final 语义在处理器中的实现
    • JSR-133 为什么要增强 final 的语义
  • 总结
    • 处理器内存模型
    • JMM,处理器内存模型与顺序一致性内存模型之间的关系
    • JMM 的设计
    • JMM 的内存可见性保证
    • JSR-133 对旧内存模型的修补
    • 个人简介
    • 参考文献

读者反馈 / 投稿:editors [at] cn.infoq.com

商务合作:sales [at] cn.infoq.com,联系电话:15810407783

重要提示:如果您无法成功下载,请先在网站右上角登录,然后再次刷新本页面,重新下载即可。有任何问题请直接拨打 010-64738142 咨询,感谢支持。

阅读数:63475发布于:2013 年 5 月 21 日 12:34

免费下载此书(PDF)

评论 (17 条评论)

发布
用户头像
感谢分享
2020 年 10 月 22 日 18:06
回复
用户头像
感谢
2020 年 06 月 12 日 17:03
回复
用户头像
大神,有个疑问,您写的final 怎么还可以在方法里重新设定值?
2020 年 03 月 23 日 15:48
回复
用户头像
太感谢了 正在学习~~
2020 年 03 月 08 日 19:17
回复
用户头像
我去,这也能写本书来,大佬研究的真深入
2020 年 02 月 21 日 09:19
回复
用户头像
谢谢大佬,认真研读!
2020 年 02 月 12 日 20:06
回复
用户头像
非常感谢,楼主牛逼
2019 年 11 月 27 日 17:56
回复
用户头像
thanks

2019 年 11 月 13 日 09:09
回复
用户头像
打印了整个70多页的电子书,值得研读
2019 年 09 月 11 日 22:22
回复
用户头像
在共享内存并发模型里,同步是显式进行的。为什么书中描述Java的并发模型是共享内存模型,Java的线程之间通信是隐式的呢
2019 年 09 月 06 日 14:11
回复
个人理解,同步需要程序员显式的指明同步代码块或者同步方法,是显式的。通信通过共享内存的方式,是隐式的。
2019 年 12 月 16 日 14:51
回复
用户头像
这本电子书不可以下载么
2019 年 08 月 13 日 21:24
回复
在网页打开,直接保存网页就OK啦。
2019 年 09 月 20 日 23:22
回复
用户头像
干货,厉害,学到了
2019 年 08 月 05 日 18:49
回复
用户头像
感谢大佬分享
2019 年 05 月 11 日 23:14
回复
用户头像
感谢分享。
2019 年 03 月 03 日 18:46
回复
用户头像
非常感谢
2019 年 02 月 25 日 19:59
回复
没有更多评论了