Java并发编程从入门到精通 封面

Java并发编程从入门到精通

暂无评分
章节数
11
ISBN
9787302401919

标签

内容简介

本书由清华大学出版社于2015年7月出版,作者张振华结合自己十余年Java开发与并发编程的一线经验,把“并发”这个以门槛高著称的话题拆成基础、进阶与应用三段来讲,全书约216页,力求做到不厚、不绕、能上手。 内容从最容易混淆的概念开始:CPU核心数与线程数的关系、CPU时间片轮转、进程与线程的区别、并行与并发、吞吐量与并发量的差别,以及高并发编程的价值与风险。随后进入Java线程本身:三种创建线程的方式、Thread类的常用属性与方法、中断机制、线程生命周期、守护线程、线程组、ThreadLocal以及线程异常处理。 第三块是并发编程真正的难点——线程安全。书中从Java内存模型讲起,说明“不安全”到底是怎么发生的,再依次介绍synchronized隐式锁、Lock与ReentrantLock、ReadWriteLock与ReentrantReadWriteLock、StampedLock、死锁的成因与规避、volatile关键字、原子类atomic,以及单例模式的几种写法。在此基础上继续讨论线程安全的集合类,如Hashtable、ConcurrentHashMap、CopyOnWriteArrayList、CopyOnWriteArraySet、Vector等,并说明CopyOnWrite机制的适用边界。 最后一部分把知识落到工程现场:线程池的原理与配置、Fork/Join框架、线程与线程池在互联网项目中的实际应用、Tomcat线程池设置、线程监控与线程分析,以及Android中的线程应用。全书篇幅克制,知识点配合代码示例,适合作为并发编程的第一本系统读物和日常查阅的参考手册。

编辑推荐

市面上的Java并发书大致分两类:一类是《Java并发编程实战》这样的权威经典,分量足但术语密度高,初学者容易卡在头两章;另一类是动辄六七百页的“大砖头”,买回来多半用来垫显示器。这本书恰好填了中间的空档——216页,两天能通读一遍,但该讲的点一个没落下。 它的写法很“工程化”:先讲CPU核心数、时间片轮转、进程与线程这些底层概念,再讲Thread的API与生命周期,然后才进入内存模型与各种锁。这个顺序的好处是,读者不会在还不知道“线程怎么被调度”的情况下就硬啃happens-before。锁的部分覆盖得比同篇幅的书更全,从synchronized、ReentrantLock一路讲到StampedLock与原子类,还把单例模式的各种写法作为线程安全的落地例子,很实用。 另外两处值得称道:一是专门用一章讲线程安全的集合类与CopyOnWrite机制的适用边界,二是把线程池、Fork/Join、Tomcat线程池配置和线程监控分析连成一条线,直接对接互联网项目现场。书中还留了Android线程应用一章,照顾到了移动端读者。 需要提醒的是,本书成书于2015年,示例基于当时的JDK,作者本人也坦承限于篇幅未对并发技术做全景式展开、代码注释相对简略。它更适合作为“第一本系统的并发书”和“随时翻查的参考手册”,而不是终点。读完它再上《Java并发编程实战》和《Java并发编程的艺术》补原理深度,是一条顺畅的路径。

适合谁读

适合

  • 有Java语法基础、正准备系统学习多线程与并发编程的开发者
  • 需要应对Java后端面试、想快速补齐并发知识点的求职者
  • 已会用线程池和synchronized,但说不清原理与注意事项的工程师
  • 讲授Java程序设计课程、需要一本薄而全参考书的高校师生

不适合

  • 完全没有Java基础、尚未写过类和对象的纯新手,建议先补语言基础
  • 希望深入JVM源码、CPU缓存一致性协议与AQS实现细节的资深读者
  • 需要覆盖Java 8之后CompletableFuture、虚拟线程等新特性的读者

阅读建议

  1. 按第1部分到第3部分的顺序通读一遍(约两三天),先建立“概念—线程—安全—工具—应用”的整体地图
  2. 每读一个知识点就动手写小demo复现,尤其是中断、死锁、锁升级与线程池拒绝策略
  3. 把第4章集合类与第6章线程池作为重点,结合自己项目中的配置对照阅读,注意CopyOnWrite与线程池参数的适用边界
  4. 读完本书后接《Java并发编程实战》或《Java并发编程的艺术》补原理深度,并留意新版JDK带来的并发新特性

出版社简介

清华大学出版社 中国 · 成立于 1980 年

清华大学出版社创立于1980年,库内收录图书57种,涵盖科学科普、医学、健康、法律、哲学读物与社科等方向。代表图书既有菠萝(李治中)的《癌症·真相:医生也在读》《癌症·新知》等医学科普作品,也有《阳光是最好的防腐剂:全球反腐大要案快递》等法律类读物,以及七格的《脑洞大开的哲学简史》、刘云浩的《从互联到新工业革命》等。作者资源包括科普作家、医学研究者、中国人民大学反贪硕士班及高校学者,体现出兼顾学术性与大众阅读的出版特色。因公开资料有限,此处仅依据库内图书归纳其出版方向。

目录

  1. 第1部分 线程并发基础
  2. 第1章 概念部分:CPU核心数、线程数;CPU时间片轮转机制;进程与线程;并行与并发;吞吐量;高并发编程的意义与注意事项
  3. 第2章 认识Java里面的Thread:线程的三种实现方式;Thread的属性与方法;线程中断机制;线程生命周期;守护线程;线程组;ThreadLocal;线程异常处理
  4. 第3章 Thread安全:Java内存模型与多线程;不安全与安全;synchronized;Lock与ReentrantLock;ReadWriteLock与ReentrantReadWriteLock;StampedLock;死锁;volatile;原子操作atomic;单例模式的写法
  5. 第4章 线程安全的集合类:Hashtable;ConcurrentHashMap;CopyOnWriteArrayList;CopyOnWriteArraySet;CopyOnWrite机制;Vector等
  6. 第5章 线程阀
  7. 第6章 线程池
  8. 第7章 Fork/Join框架
  9. 第8章 线程与线程池在互联网项目开发中的应用
  10. 第9章 线程监控及线程分析
  11. 第10章 Android中线程应用

常见问题

这本书适合零基础学Java的人看吗?
不太适合。书中默认读者已经会写Java类、了解基本语法与集合,开篇就直接讨论线程创建、内存模型与锁机制。建议先掌握Java语言基础和面向对象,再来读这本。
书里的例子用的是哪个Java版本?现在还能用吗?
本书2015年出版,示例基于当时的JDK版本,核心API如Thread、synchronized、ReentrantLock、ThreadPoolExecutor、ForkJoinPool至今仍是并发编程的基础,可以直接运行和理解;但CompletableFuture、虚拟线程等较新特性书中没有覆盖,需要另外补充。
这本书和《Java并发编程实战》有什么区别?
《Java并发编程实战》由JSR 166专家组成员撰写,偏重并发设计与最佳实践,理论深度高但中文术语较晦涩;本书篇幅更短(216页),按概念、线程、线程安全、集合类、线程池、Fork/Join、实际应用的顺序讲,更适合作为第一本入门书。两者可以前后衔接阅读。
书中讲的“线程阀”是什么?
线程阀是作者对控制线程并发访问量、对并发请求进行限流与协调的一类同步工具的统称,书中单列一章讨论。它与Semaphore信号量、CountDownLatch等JDK并发工具的用途相近,阅读时可结合java.util.concurrent包中的相关类一起理解。
看完这本书能达到什么水平?
能系统掌握线程生命周期、线程安全与常见锁、线程安全集合、线程池配置和Fork/Join的基本用法,并了解线程监控与分析方法,应对初中级Java岗位的并发面试基本够用;若要冲击更高阶岗位,还需补充JMM底层、AQS源码与高并发系统设计方面的内容。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分