Java虚拟机并发编程
2013-5
机械工业出版社
Venkat Subramaniam
薛笛
无
苏布拉马尼亚姆所著的《Java虚拟机并发编程》是Java并发编程领域的里程碑之作,由资深Java技术专家、并发编程专家、敏捷开发专家和Jolt大奖得主撰写,Amazon五星级畅销书。它系统深入地讲解在JVM平台上如何利用JDK同步模型、软件事务内存模型和基于角色的并发模型更好地进行并发编程。全书以示例驱动,通俗易懂,包含大量编程技巧、注意事项和最佳实践。要重点强调的是,本书并不仅仅只适合于Java语言的并发编程,它还适用于clojure、Groovy、JRuby和Scala等所有运行在JVM平台上的编程语言。
《Java虚拟机并发编程》共10章,分为五个部分。第一部分:并发策略,阐释了影响并发性的因素、如何有效实现并发,以及并发的设计方法等;第二部分:现代Java/JDK并发,讨论了现代Java API的线程安全和效率,以及如何处理已有应用程序中的现实问题和重构遗留代码时的原则;第三部分:软件事务内存,深入讨论了STM并就如何在各种主要的JVM语言里使用STM给出了指导意见;第四部分:基于角色的并发,详细讲解了如何在基于角色的模型下消除并发问题以及如何在自己的首选语言中使用角色模型;第五部分:后记,回顾了本书讨论的解决方案并总结了并发编程中的注意事项和最佳实践。
海报:
作者:(美)苏布拉马尼亚姆 译者:薛笛Venkat Subramaniam 资深Java技术专家、并发编程专家和敏捷技术专家,拥有超过20年的软件开发经验,在Java领域(整个Java平台)、敏捷开发领域有非常深入的研究,并进行了大量实践。他是Agile Developer公司创始人,在美洲、欧洲和亚洲等多个国家和地区开展培训和指导工作,已经帮助数以千计的软件开发人员成功地在其软件项目中运用敏捷方法。 他经常受邀在大型国际软件会议和用户组活动中发表技术演讲,深受欢迎。他著作颇丰,先后独自撰写了《.NET Gotchas》、《Programming Groovy》、《Programming Scala》等经典著作,尤为值得一提的是,他与人合著的《Practices of an Agile Developer》一书获得了2007年的Jolt生产力大奖。薛笛 资深软件开发工程师,精通分布式系统开发租Java相关技术,对JVM有深入的研究。目前就职于腾讯公司,担任高级开发工程师,负责手机QQ、手机Qzone等应用的后台开发。热衷于技术分享,在《程序员》杂志和IBM DevelopersWork上发表过多篇技术文章,CSDN博客专家。
译者序前言第1章 并发的威力与风险/1 1.1 线程:程序的执行流程/1 1.2 并发的威力/1 1.3 并发的风险/4 1.4 小结/9第一部分 并发策略第2章 分工原则/11 2.1 从顺序到并发/11 2.2 在IO密集型应用程序中使用并发技术/13 2.3 并发方法对IO密集型应用程序的加速效果/19 2.4 在计算密集型应用程序中使用并发技术/20 2.5 并发方法对于计算密集型应用程序的加速效果/25 2.6 有效的并发策略/26 2.7 小结/27第3章 设计方法/28 3.1 处理状态/28 3.2 探寻设计选项/29 3.3 共享可变性设计/29 3.4 隔离可变性设计/30 3.5 纯粹不可变性设计/30 3.6 持久的/不可变的数据结构/31 3.7 选择一种设计方法/34 3.8 小结/34第二部分 现代Java/JDK并发模型第4章 可扩展性和线程安全/37 4.1 用ExecutorService管理线程/37 4.2 使线程协作/38 4.3 数据交换/47 4.4 Java 7 Fork-Join API/49 4.5 可扩展集合类/51 4.6 Lock和Synchronized/54 4.7 小结/58第5章 驯服共享可变性/59 5.1 共享可变性 != Public/59 5.2 定位并发问题/59 5.3 保持不变式/61 5.4 管理好资源/62 5.5 保证可见性/64 5.6 增强并发性/65 5.7 保证原子性/67 5.8 小结/70第三部分 软件事务内存第6章 软件事务内存导论/71 6.1 同步与并发水火不容/71 6.2 对象模型的缺陷/72 6.3 将实体与状态分离/73 6.4 软件事务内存/74 6.5 STM中的事务/77 6.6 用STM实现并发/77 6.7 用Akka/Multiverse STM实现并发/82 6.8 创建事务/84 6.9 创建嵌套事务/90 6.10 配置Akka事务/97 6.11 阻塞事务—有意识地等待/100 6.12 提交和回滚事件/103 6.13 集合与事务/106 6.14 处理写偏斜异常/110 6.15 STM的局限性/112 6.16 小结/116第7章 在Clojure、Groovy、Java、JRuby和Scala中使用STM/117 7.1 Clojure STM/117 7.2 Groovy集成/118 7.3 Java集成/122 7.4 JRuby集成/124 7.5 Scala中的可选方案/130 7.6 小结/133第四部分 基于角色的并发模型第8章 讨喜的隔离可变性/135 8.1 用角色实现隔离可变性/136 8.2 角色的特性/137 8.3 创建角色/138 8.4 收发消息/144 8.5 同时使用多个角色/148 8.6 多角色协作/152 8.7 使用类型化角色/159 8.8 类型化角色和murmurs/163 8.9 混合使用角色和STM/169 8.10 使用transactor/169 8.11 调和类型化角色/176 8.12 远程角色/182 8.13 基于角色模型的局限性/184 8.14 小结/184第9章 在Groovy、Java、JRuby和Scala中使用角色/186 9.1 在Groovy中使用GPars提供的角色实现/186 9.2 在Java中使用Akka提供的角色实现/199 9.3 在JRuby中使用Akka提供的Actor实现/199 9.4 在Scala中使用角色/202 9.5 小结/202第五部分 后记第10章 并发编程之禅/205 10.1 慎重选择/205 10.2 并发:程序员指南/206 10.3 并发:架构师指南/207 10.4 明智地进行选择/208附录1 Clojure agent/210附录2 一些网络资源/214参考文献/216
苏布拉马尼亚姆所著的《Java虚拟机并发编程》——Java并发编程领域的里程碑之作,资深Java技术专家、并发编程专家、敏捷开发专家和Jolt大奖得主撰写,Amazon五星畅销书! 系统深入地讲解在JVM平台上如何利用JDK同步模型、软件事务内存模型和基于角色的并发模型进行并发编程。列举丰富示例。包含大量编程技巧和最佳实践。
无
书今天刚到,讲解并发的的,需要有一定基础的,纸张不错,内容也不错。今天把第三章看完啦,感觉从并发的优势,并发的缺陷,并发的设计方法及每种方法的优势和不足,讲解了并发程序的设计。第四章讲解,jdk的并发包,应该还不错。
推荐看了并发编程,但感觉没有掌握精髓的人阅读。我没有通读全书,仅看了java常规并发部分,已经感觉豁然开朗明悟在心了。本书给了你思路,解决方案及示例。剩下的就是你细细品味了。
不错的一本书,比较薄,看之前最好有一些并发基础,可以先读读《Java并发编程实战》
很不错的一本讲解并发的书,虽然不是面面俱到,但是已经涵盖了大部分并发知识,最重要的是写的很有趣味,不像《并发编程实战》需要硬着头皮看完
看了几页,不错,需要去细细品味。
200页多点的书,看起来很薄,这是我买过的“性价比”最贵的书了,内容还没看,希望看后会有很大收获。简单看了下目录,感觉讲的还是很深的,如果仅仅是为了增强java并发编程能力,看那本《java并发编程实践》最好了。
内容还没看,应该不错 把
好书,有深度。这样的书让人事倍功半。作者给的例子也是那种一针见血,入木三分般
书的质量很不错,内容也好,不过需要一定的基础才看的懂。
挺有用的,《Java并发编辑实战》以后再看这本是不错的补充
书很好,理解虚拟机并发编程 。
刚看点,感觉还行,有些不是那么详细
讲解的非常详细,也很实用!