Java多线程编程实战指南(设计模式篇第2版)/Java多线程编程实战系列pdf下载

Java多线程编程实战指南(设计模式篇第2版)/Java多线程编程实战系列百度网盘pdf下载

作者:
简介:Java多线程编程实战指南(设计模式篇第2版)/Java多线程编程实战系列
出版社:
出版时间:2020-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

  • 商品名称:Java多线程编程实战指南(设计模式篇第2版)/Java多线程编程实战系列
  • 作者:黄文海|责编:付睿
  • 定价:69
  • 出版社:电子工业
  • ISBN号:9787121382451

其他参考信息(以实物为准)

  • 出版时间:2020-03-01
  • 印刷时间:2020-03-01
  • 版次:2
  • 印次:1
  • 开本:16开
  • 包装:平装
  • 页数:296
  • 字数:403千字

编辑推荐语

本书用Java诠释多线程编程的“三十六计”——多线程设计模式,对每个设计模式的讲解都附有实战案例和源代码解析,从理论到实战经验,全面呈现常用多线程设计模式的来龙去脉。 本书第2版除 正了 版中的错误外,还新增了JDK 8、JDK 9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点 突出、 易于阅读,以及提高了插图的清晰度。

内容提要

随着CPU多核时代的到来,多线程编程在充分利用计算资源、提高软件服务质量方面扮演了越来越重要的角色。解决多线程编程中频繁出现的普遍问题可以借鉴设计模式所提供的现成解决方案。然而,多线程编程相关的设计模式图书多采用C++作为描述语言,且书中所举的例子多与应用开发人员的实际工作相去甚远。本书采用Java语言和UML为描述语言,并结合作者多年工作经历及相关实践经验,介绍了多线程环境下常用设计模式的来龙去脉:各个设计模式是什么样的、典型的实际应用场景、实际应用时需要注意的事项及各个设计模式的可复用代码实现。本书第2版除 正了 版中的错误外,还新增了JDK 8、JDK 9中与多线程设计模式相关的内容,并对代码进行了重构和重新排版,使代码部分重点 突出、 易于阅读,以及提高了插图的清晰度。本书适合有一定Java多线程编程基础、经验的读者阅读。

作者简介

黄文海,2004年开始从事软件开发工作,近几年从事软件项目管理工作。在其工作过程中积累了丰富的技术指导经验和企业内部培训经验。曾在InfoQ中文站和IBM developerWorks上发表过十几篇技术、项目管理文章。

目录

第1章 Java多线程编程实战基础1
1.1 无处不在的线程1
1.2 线程的创建与运行3
1.3 线程的状态与上下文切换5
1.4 对线程的监视8
1.5 原子性、内存可见性和重排序——重新认识synchronized
和volatile11
1.6 多线程编程的优势和风险13
1.7 多线程编程常用术语14
第2章 设计模式简介19
2.1 设计模式及其作用19
2.2 多线程设计模式简介22
2.3 设计模式的描述23
第3章 Immutable Object(不可变对象)模式25
3.1 Immutable Object模式简介25
3.2 Immutable Object模式的架构27
3.3 Immutable Object模式实战案例解析29
3.4 Immutable Object模式的评价与实现考量33
3.4.1 适用场景33
3.4.2 对垃圾回收(Garbage Collection)的影响34
3.4.3 使用等效或者近似的不可变对象35
3.4.4 防御性复制35
3.5 Immutable Object模式的可复用实现代码35
3.6 Java标准库实例35
3.7 相关模式37
3.7.1 Thread Specific Storage模式( 0章)37
3.7.2 Serial Thread Confinement模式( 1章)37
3.8 参考资源38
第4章 Guarded Suspension(保护性暂挂)模式39
4.1 Guarded Suspension模式简介39
4.2 Guarded Suspension模式的架构39
4.3 Guarded Suspension模式实战案例解析43
4.4 Guarded Suspension模式的评价与实现考量50
4.4.1 内存可见性和锁泄漏(Lock Leak)51
4.4.2 线程被过早地唤醒52
4.4.3 嵌套监视器锁死53
4.5 Guarded Suspension模式的可复用实现代码56
4.6 Java标准库实例56
4.7 相关模式56
4.7.1 Promise模式(第6章)57
4.7.2 Producer-Consumer模式(第7章)57
4.8 参考资源57
第5章 Two-phase Termination(两阶段终止)模式58
5.1 Two-phase Termination模式简介58
5.2 Two-phase Termination模式的架构59
5.3 Two-phase Termination模式实战案例解析61
5.4 Two-phase Termination模式的评价与实现考量70
5.4.1 线程停止标志71
5.4.2 生产者/消费者问题中的线程停止71
5.4.3 隐藏而非暴露可停止线程73
5.5 Two-phase Termination模式的可复用实现代码73
5.6 Java标准库实例73
5.7 相关模式74
5.7.1 Producer-Consumer模式(第7章)74
5.7.2 Master-Slave模式( 2章)74
5.8 参考资源74
第6章 Promise(承诺)模式75
6.1 Promise模式简介75
6.2 Promise模式的架构75
6.3 Promise模式实战案例解析78
6.4 Promise模式的评价与实现考量81
6.4.1 异步方法的异常处理82
6.4.2 轮询82
6.4.3 异步任务的执行83
6.5 Promise模式的可复用实现代码84
6.6 Java标准库实例85
6.7 相关模式85
6.7.1 Guarded Suspension模式(第4章)85
6.7.2 Active Object模式(第8章)86
6.7.3 Master-Slave模式( 2章)86
6.7.4 Factory Method(工厂方法)模式86
6.8 参考资源86
第7章 Producer-Consumer(生产者/消费者)模式87
7.1 Producer-Consumer模式简介87
7.2 Producer-Consumer模式的架构87
7.3 Producer-Consumer模式实战案例解析90
7.4 Producer-Consumer模式的评价与实现考量93
7.4.1 产品的粒度94
7.4.2 通道积压94
7.4.3 非阻塞式反压与Reactive Streams规范96
7.4.4 工作窃取算法97
7.4.5 线程的停止101
7.4.6 高性能、高可靠性的Producer-Consumer模式实现101
7.5 Producer-Consumer模式的可复用实现代码102
7.6 Java标准库实例102
7.7 相关模式102
7.7.1 Guarded Suspension模式(第4章)102
7.7.2 Thread Pool模式(第9章)103
7.8 参考资源103
第8章 Active Object(主动对象)模式104
8.1 Active Object模式简介104
8.2 Active Object模式的架构105
8.3 Active Object模式实战案例解析108
8.4 Active Object模式的评价与实现考量115
8.4.1 错误隔离117
8.4.2 缓冲区监控118
8.4.3 缓冲区饱和处理策略118
8.4.4 Scheduler空闲工作者线程清理119
8.5 Active Object模式的可复用实现代码119
8.6 Java标准库实例123
8.7 相关模式123
8.7.1 Promise模式(第6章)123
8.7.2 Producer-Consumer模式(第7章)123
8.8 参考资源124
第9章 Thread Pool(线程池)模式125
9.1 Thread Pool模式简介125
9.2 Thread Pool模式的架构126
9.3 Thread Pool模式实战案例解析128
9.4 Thread Pool模式的评价与实现考量130
9.4.1 工作队列的选择131
9.4.2 线程池大小调校132
9.4.3 线程池监控134
9.4.4 线程泄漏135
9.4.5 可靠性与线程池饱和处理策略135
9.4.6 死锁138
9.4.7 线程池空闲线程清理139
9.5 Thread Pool模式的可复用实现代码140
9.6 Java标准库实例140
9.7 相关模式140
9.7.1 Two-phase Termination模式(第5章)140
9.7.2 Promise模式(第6章)141
9.7.3 Producer-Consumer模式(第7章)141
9.8 参考资源141
0章 Thread Specific Storage(线程特有存储)模式142
10.1 Thread Specific Storage模式简介142
10.2 Thread Specific Storage模式的架构144
10.3 Thread Specific Storage模式实战案例解析146
10.4 Thread Specific Storage模式的评价与实现考量149
10.4.1 在线程池环境下使用Thread Specific Storage模式153
10.4.2 内存泄漏与伪内存泄漏153
10.5 Thread Specific Storage模式的可复用实现代码161
10.6 Java标准库实例161
10.7 相关模式162
10.7.1 Immutable Object模式(第3章)162
10.7.2 Proxy(代理)模式162
10.7.3 Singleton(单例)模式162
10.8 参考资源162
1章 Serial Thread Confinement(串行线程封闭)模式163
11.1 Serial Thread Confinement模式简介163
11.2 Serial Thread Confinement模式的架构163
11.3 Serial Thread Confinement模式实战案例解析166
11.4 Serial Thread Confinement模式的评价与实现考量170
11.5 Serial Thread Confinement模式的可复用实现代码171
11.6 Java标准库实例176
11.7 相关模式177
11.7.1 Immutable Object模式(第3章)177
11.7.2 Promise模式(第6章)177
11.7.3 Producer-Consumer模式(第7章)177
11.7.4 Thread Specific Storage模式( 0章)177
11.8 参考资源177
2章 Master-Slave(主仆)模式178
12.1 Master-Slave模式简介178
12.2 Master-Slave模式的架构178
12