zzu/manjianghong

请问下Java并发编程看哪本书比较好?

dpengwang opened this issue · 2 comments

这个截图中的一些书没看过,还有些书没有。所以,我抛开截图直接谈推荐书籍了。

  • Java并发编程实战 (豆瓣) -- 这本书是必看的。JDK 中 JUC 就是这本书的作者们写的。虽然书名含有“Java”一次,但是,里面更多是原理性的东西,各种语言都适用。只是例子少了一些。这本书需要多读几遍。(据说翻译不行,推荐看英文版)
  • Java并发编程的艺术 (豆瓣) -- 这本书也不错,讲了很多源码方面的内容,非常棒。另外,在讲解 Double Lock 方面的知识时,涉及了很多 Java Memory Model 方面的知识,可以先看看 深入理解Java虚拟机(第2版) (豆瓣) 最后两章的内容,来提前补充一下这么方面的知识。美中不足,这本书是针对 JDK7 来讲解的,Java 8 做了很多更新,这本书还没有更新进去。
  • 实战Java高并发程序设计(第2版) (豆瓣) -- 这本书也不错,针对 Java 8 写的,Java 8 中的很多新知识都有涉猎,例子也很全面。
  • Java编程** (第4版) (豆瓣) -- 虽然这本书已经出来十余年了,但是依然经典。第 21 章 并发,用大量的例子和陈述来介绍并发。非常棒。美中不足,是针对 Java 5 编写的,现在已经 Java 8 了。
  • Java 7并发编程实战手册 (豆瓣) -- 入门的话,这本书是不错的选择。每个特性一个例子,整本书大概 80% 的篇幅都是代码。PS:这本书的原版已有新版,中文版在翻译中。

我看过的 Java 并发主要看过这几本。没有看过的就不评价了。

另外,我再补充一点, Effective Java中文版(第3版) (豆瓣) 中关于并发的内容也非常精彩,让我学会了什么是数据不变性?为什么不可变的数据是安全的?为什么方法中的变量也是线程安全的?同样推荐。

说明一下看书的前后顺序吧:

  1. 《Java 7并发编程实战手册》 -- 如果已经入门,可以跳过。
  2. 《Java编程** (第4版)》 -- 关注并发,只需要看第21章。
  3. 《实战Java高并发程序设计(第2版)》
  4. 《Java并发编程实战》
  5. 《Java并发编程的艺术》

写了篇文章,来更新一下这个回答:

推荐几本 Java 并发编程的书 - "地瓜哥"博客网