实战Java高并发程序设计 封面

实战Java高并发程序设计

暂无评分
字数
493字
章节数
40
ISBN
9787121273049

标签

内容简介

《实战Java高并发程序设计》是面向有一定Java基础开发者的并发编程实战类图书。全书从并行计算的时代背景讲起,先梳理同步与异步、并发与并行、临界区、阻塞与非阻塞、死锁与活锁等基本概念,以及并发级别划分、Amdahl定律与Gustafson定律,并落脚到Java内存模型中的原子性、可见性、有序性与Happen-Before规则。 在此基础上,书中系统讲解Java并行程序的基本写法:线程的创建、终止、中断、等待与通知、join与yield,volatile与内存模型,线程组、守护线程、线程优先级,synchronized与线程安全,以及并发场景下ArrayList、HashMap和一个常见的错误加锁写法等隐蔽问题。 中段重点剖析JDK并发包:重入锁与Condition、信号量Semaphore、读写锁ReadWriteLock、CountDownLatch、CyclicBarrier、LockSupport、AbstractQueuedSynchronizer,线程池的内部实现与拒绝策略、Fork/Join框架,以及ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList、BlockingQueue、跳表等并发容器。 之后围绕锁优化展开,包括减小锁粒度、锁分离、锁粗化、偏向锁、轻量级锁、自旋锁、锁消除,ThreadLocal,以及CAS与各类原子类和死锁问题。此外,书中还讨论并行设计模式与算法(单例、不变模式、生产者—消费者、Future、并行排序等)、Java 8对并行程序的支持,并介绍高并发框架Akka和并行程序的调试方法。

编辑推荐

很多讲并发的书停在「概念+API罗列」,这本的可贵之处是每一步都带着可运行的代码。作者从线程的基本操作讲到JDK并发包,再把锁优化、无锁算法、设计模式、Akka逐个拆开,读下来能搭起一条从「会用」到「知道为什么快」的完整链路。 书里的例子大多来自真实开发中的坑:并发下的ArrayList会怎样出错、HashMap为什么不安全、为什么你的加锁方式其实是错的、线程池里的堆栈去哪了。这些问题在面试和线上排查中都极为常见,单独拎出来看比抽象讲解更有效果。 语言风格偏口语化,配图多为手绘示意,降低了阅读门槛。对想系统补齐并发知识、又不想一上来就啃大块头理论书的开发者来说,这本是性价比很高的选择。

适合谁读

适合

  • 已经会写Java基础代码、想系统掌握多线程与并发编程的开发人员
  • 需要处理高并发场景、进行系统调优的后端工程师
  • 准备Java技术面试、需要梳理JUC与内存模型的知识型读者
  • 软件设计师、架构师中需要补足并发底层原理的人

不适合

  • 完全没有Java基础、还不熟悉类与线程基本用法的初学者
  • 只想读纯理论推导、对代码实战不感兴趣的研究型读者
  • 做其他语言开发且短期内不接触Java生态的工程师

阅读建议

  1. 第1、2章不要跳过,内存模型和线程基础是后面所有内容的根基。
  2. 每个示例最好亲手敲一遍并改参数观察现象,并发问题光看结论记不牢。
  3. 读完第3章后可以回头对照自己项目里的线程池与锁,逐条排查隐患。
  4. 锁优化和Akka部分可先通读建立印象,等到遇到相应场景再精读。

出版社简介

电子工业出版社 中国 · 成立于 1982 年

电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。

目录

  1. 第1章 走入并行世界
  2. 1.1 何去何从的并行计算
  3. 1.2 同步与异步、并发与并行、临界区、阻塞与非阻塞、死锁饥饿活锁
  4. 1.3 并发级别:阻塞、无饥饿、无障碍、无锁、无等待
  5. 1.4 Amdahl定律与Gustafson定律
  6. 1.5 Java内存模型:原子性、可见性、有序性与Happen-Before规则
  7. 第2章 Java并行程序基础
  8. 2.1 线程的基本操作:新建、终止、中断、wait/notify、suspend/resume、join/yield
  9. 2.2 volatile与Java内存模型
  10. 2.3 线程组、守护线程与线程优先级
  11. 2.4 线程安全与关键字synchronized
  12. 2.5 程序中的隐蔽错误:并发下的ArrayList与HashMap、错误的加锁
  13. 第3章 JDK并发包
  14. 3.1 同步控制:重入锁、Condition、Semaphore、ReadWriteLock、CountDownLatch、CyclicBarrier、LockSupport、AQS
  15. 3.2 线程池:内部实现、拒绝策略、ThreadFactory、线程数量优化、Fork/Join框架
  16. 3.3 并发容器:ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList、BlockingQueue、跳表
  17. 第4章 锁的优化及注意事项
  18. 4.1 减少锁持有时间、减小锁粒度、读写分离锁、锁分离、锁粗化
  19. 4.2 虚拟机锁优化:锁偏向、轻量级锁、自旋锁、锁消除
  20. 4.3 ThreadLocal与ThreadLocalRandom
  21. 4.4 无锁与CAS:AtomicInteger、Unsafe、AtomicReference、AtomicStampedReference及各类原子类
  22. 4.5 有关死锁的问题
  23. 第5章 并行模式与算法
  24. 5.1 单例模式与不变模式
  25. 5.2 生产者—消费者模式及其无锁实现:Disruptor与伪共享问题
  26. 5.3 Future模式与Guava支持
  27. 5.4 并行流水线、并行搜索与并行排序
  28. 5.5 矩阵乘法的并行算法、网络NIO与AIO
  29. 第6章 Java 8与并发
  30. 6.1 函数式编程基础与lambda表达式
  31. 6.2 并行流与并行排序
  32. 6.3 CompletableFuture
  33. 6.4 StampedLock、LongAdder与LongAccumulator
  34. 6.5 ConcurrentHashMap的增强与发布订阅模式
  35. 第7章 使用Akka构建高并发程序
  36. 7.1 Actor模型与Akka入门
  37. 7.2 消息投递、Actor生命周期与监督策略
  38. 7.3 消息路由、内置状态转换与询问模式
  39. 7.4 Agent与软件事务内存
  40. 7.5 用Akka实现并发粒子群算法

常见问题

这本书需要什么基础才能读?
需要具备基本的Java语法和面向对象知识,最好写过带线程的代码。书中术语如内存模型、锁、线程池都从概念讲起,但完全没有编程经验会觉得吃力。
这本书和《Java并发编程实战》有什么区别?
《Java并发编程实战》偏重理论体系与设计原则,语言更学术;本书则以中文白话讲解配合大量代码实例,覆盖JUC工具类、锁优化、Akka和高并发调试,实战与工程色彩更浓。
书中内容对应哪个Java版本?
第1版主要基于JDK 8,示例在JDK 1.8以上环境运行,并介绍了Java 8在并行流等方面对并发的支持。若想学习更新版本的特性,可参考后续第2版、第3版。
适合用来准备面试吗?
适合作为梳理知识框架的读物。synchronized与锁升级、ConcurrentHashMap、线程池参数与拒绝策略、CAS与ABA问题等高频考点书中都有展开,但需要自己配合刷题巩固。

读者评论

查询本书

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

作者简介

葛一鸣 作者

葛一鸣是一位公开资料有限的编程技术作者,目前可确认的代表作为《实战Java高并发程序设计(第3版)》。该书属于编程设计类,从书名与版本更迭可以看出,其内容面向Java并发编程的实践应用,并经过多次修订,说明在相关技术读者中具有一定持续性。在作者个人生平、教育背景、职业经历、奖项荣誉等信息尚不明确的情况下,不宜对其经历作额外推测。就现有作品而言,葛一鸣的写作侧重以实战为导向,围绕高并发程序设计这一主题展开,服务于希望深入理解Java并发机制的开发者。其简介更适合从作品题材与技术方向的角度加以定位,而非罗列未经证实的个人成就。

郭超 作者

郭超,目前公开资料有限,其署名作品涵盖传统文化、社会政策与信息技术等不同领域。在文学鉴赏方向,他参与整理《太公六韬》,显示对古代兵家典籍与谋略文化的关注;在社科领域,他围绕《中国残疾报告制度研究》展开论述,触及残疾人事业的数据统计与制度建设议题;另编有《大学信息技术项目化教程》,面向高校信息技术教学,体现项目化学习的编写思路。从这些作品看,郭超的写作横跨古籍解读、社会研究与教材编写,内容偏重知识梳理与实际应用,风格务实,面向的读者群体也较为多样。由于缺少生平信息,其个人经历与学术背景暂无法进一步介绍。

同一作者

同类高分