图灵程序设计丛书 精通Java并发编程 第2版PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:(西)哈维尔·费尔南德斯·冈萨雷斯著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2018
- ISBN:9787115491664
- 页数:330 页
第1章 第一步:并发设计原理 1
1.1 基本的并发概念 1
1.1.1 并发与并行 1
1.1.2 同步 2
1.1.3 不可变对象 2
1.1.4 原子操作和原子变量 3
1.1.5 共享内存与消息传递 3
1.2 并发应用程序中可能出现的问题 3
1.2.1 数据竞争 3
1.2.2 死锁 4
1.2.3 活锁 4
1.2.4 资源不足 4
1.2.5 优先权反转 5
1.3 设计并发算法的方法论 5
1.3.1 起点:算法的一个串行版本 5
1.3.2 第1步:分析 5
1.3.3 第2步:设计 5
1.3.4 第3步:实现 6
1.3.5 第4步:测试 6
1.3.6 第5步:调整 6
1.3.7 结论 7
1.4 Java并发API 8
1.4.1 基本并发类 8
1.4.2 同步机制 8
1.4.3 执行器 9
1.4.4 Fork/Join框架 9
1.4.5 并行流 9
1.4.6 并发数据结构 9
1.5 并发设计模式 10
1.5.1 信号模式 10
1.5.2 会合模式 11
1.5.3 互斥模式 11
1.5.4 多元复用模式 12
1.5.5 栅栏模式 12
1.5.6 双重检查锁定模式 12
1.5.7 读-写锁模式 13
1.5.8 线程池模式 14
1.5.9 线程局部存储模式 14
1.6 设计并发算法的提示和技巧 14
1.6.1 正确识别独立任务 14
1.6.2 在尽可能高的层面上实施并发处理 15
1.6.3 考虑伸缩性 15
1.6.4 使用线程安全API 15
1.6.5 绝不要假定执行顺序 16
1.6.6 在静态和共享场合尽可能使用局部线程变量 16
1.6.7 寻找更易于并行处理的算法版本 17
1.6.8 尽可能使用不可变对象 17
1.6.9 通过对锁排序来避免死锁 17
1.6.10 使用原子变量代替同步 18
1.6.11 占有锁的时间尽可能短 19
1.6.12 谨慎使用延迟初始化 19
1.6.13 避免在临界段中使用阻塞操作 19
1.7 小结 20
第2章 使用基本元素:Thread和Runnable 21
2.1 Java中的线程 21
2.1.1 Java中的线程:特征和状态 22
2.1.2 Thread类和Runnable接口 23
2.2 第一个例子:矩阵乘法 24
2.2.1 公共类 24
2.2.2 串行版本 25
2.2.3 并行版本 25
2.3 第二个例子:文件搜索 32
2.3.1 公共类 32
2.3.2 串行版本 32
2.3.3 并发版本 33
2.3.4 对比解决方案 37
2.4 小结 38
第3章 管理大量线程:执行器 39
3.1 执行器简介 39
3.1.1 执行器的基本特征 39
3.1.2 执行器框架的基本组件 40
3.2 第一个例子:k-最近邻算法 40
3.2.1 k-最近邻算法:串行版本 41
3.2.2 k-最近邻算法:细粒度并发版本 42
3.2.3 k-最近邻算法:粗粒度并发版本 45
3.2.4 对比解决方案 46
3.3 第二个例子:客户端/服务器环境下的并发处理 48
3.3.1 客户端/服务器:串行版 48
3.3.2 客户端/服务器:并行版本 51
3.3.3 额外的并发服务器组件 54
3.3.4 对比两种解决方案 59
3.3.5 其他重要方法 61
3.4 小结 62
第4章 充分利用执行器 63
4.1 执行器的高级特性 63
4.1.1 任务的撤销 63
4.1.2 任务执行调度 64
4.1.3 重载执行器方法 64
4.1.4 更改一些初始化参数 64
4.2 第一个例子:高级服务器应用程序 65
4.2.1 ServerExecutor类 65
4.2.2 命令类 70
4.2.3 服务器部件 72
4.2.4 客户端部件 78
4.3 第二个例子:执行周期性任务 79
4.3.1 公共部件 79
4.3.2 基础阅读器 81
4.3.3 高级阅读器 84
4.4 有关执行器的其他信息 87
4.5 小结 87
第5章 从任务获取数据:Callable接口与Future接口 88
5.1 Callable接口和Future接口简介 88
5.1.1 Callable接口 88
5.1.2 Future接口 89
5.2 第一个例子:单词最佳匹配算法 89
5.2.1 公共类 90
5.2.2 最佳匹配算法:串行版本 91
5.2.3 最佳匹配算法:第一个并发版本 92
5.2.4 最佳匹配算法:第二个并发版本 95
5.2.5 单词存在算法:串行版本 96
5.2.6 单词存在算法:并行版本 98
5.2.7 对比解决方案 100
5.3 第二个例子:为文档集创建倒排索引 102
5.3.1 公共类 103
5.3.2 串行版本 104
5.3.3 第一个并发版本:每个文档一个任务 105
5.3.4 第二个并发版本:每个任务多个文档 109
5.3.5 对比解决方案 112
5.3.6 其他相关方法 113
5.4 小结 113
第6章 运行分为多阶段的任务:Phaser类 115
6.1 phaser类简介 115
6.1.1 参与者的注册与注销 116
6.1.2 同步阶段变更 116
6.1.3 其他功能 116
6.2 第一个例子:关键字抽取算法 117
6.2.1 公共类 118
6.2.2 串行版本 121
6.2.3 并发版本 123
6.2.4 对比两种解决方案 128
6.3 第二个例子:遗传算法 129
6.3.1 公共类 130
6.3.2 串行版本 132
6.3.3 并发版本 134
6.3.4 对比两种解决方案 139
6.4 小结 141
第7章 优化分治解决方案:Fork/Join框架 142
7.1 Fork/Join框架简介 142
7.1.1 Fork/Join框架的基本特征 143
7.1.2 Fork/Join框架的局限性 143
7.1.3 Fork/Join框架的组件 144
7.2 第一个例子:k-means聚类算法 144
7.2.1 公共类 145
7.2.2 串行版本 149
7.2.3 并发版本 151
7.2.4 对比解决方案 155
7.3 第二个例子:数据筛选算法 157
7.3.1 公共特性 157
7.3.2 串行版 157
7.3.3 并发版本 159
7.3.4 对比两个版本 165
7.4 第三个例子:归并排序算法 166
7.4.1 共享类 166
7.4.2 串行版本 167
7.4.3 并发版本 169
7.4.4 对比两个版本 172
7.5 Fork/Join框架的其他方法 172
7.6 小结 173
第8章 使用并行流处理大规模数据集:MapReduce模型 174
8.1 流的简介 174
8.1.1 流的基本特征 174
8.1.2 流的组成部分 175
8.1.3 MapReduce与MapCollect 177
8.2 第一个例子:数值综合分析应用程序 178
8.2.1 并发版本 178
8.2.2 串行版本 185
8.2.3 对比两个版本 186
8.3 第二个例子:信息检索工具 186
8.3.1 约简操作简介 187
8.3.2 第一种方式:全文档查询 188
8.3.3 第二种方式:约简的文档查询 191
8.3.4 第三种方式:生成一个含有结果的HTML文件 191
8.3.5 第四种方式:预先载入倒排索引 194
8.3.6 第五种方式:使用我们的执行器 195
8.3.7 从倒排索引获取数据:ConcurrentData类 196
8.3.8 获取文件中的单词数 196
8.3.9 获取文件的平均tfxidf值 196
8.3.10 获取索引中的最大tfxidf值和最小tfxidf值 197
8.3.11 ConcurrentMain类 198
8.3.12 串行版 199
8.3.13 对比两种解决方案 199
8.4 小结 202
第9章 使用并行流处理大规模数据集:MapCollect模型 203
9.1 使用流收集数据 203
9.2 第一个例子:无索引条件下的数据搜索 205
9.2.1 基本类 205
9.2.2 第一种方式:基本搜索 207
9.2.3 第二种方式:高级搜索 209
9.2.4 本例的串行实现 211
9.2.5 对比实现方案 211
9.3 第二个例子:推荐系统 212
9.3.1 公共类 212
9.3.2 推荐系统:主类 213
9.3.3 Concurrent Loader-Accumulator类 215
9.3.4 串行版 216
9.3.5 对比两个版本 216
9.4 第三个例子:社交网络中的共同联系人 217
9.4.1 基本类 218
9.4.2 并发版本 219
9.4.3 串行版本 223
9.4.4 对比两个版本 223
9.5 小结 224
第10章 异步流处理:反应流 225
10.1 Java反应流简介 225
10.1.1 Flow.publisher接口 226
10.1.2 Flow.Subscriber接口 226
10.1.3 Flow.Subscription接口 226
10.1.4 Submissionpublisher类 226
10.2 第一个例子:面向事件通知的集中式系统 227
10.2.1 Event类 227
10.2.2 producer类 227
10.2.3 Consumer类 228
10.2.4 Main类 230
10.3 第二个例子:新闻系统 231
10.3.1 News类 232
10.3.2 发布者相关的类 232
10.3.3 Consumer类 235
10.3.4 Main类 236
10.4 小结 238
第11章 探究并发数据结构和同步工具 240
11.1 并发数据结构 240
11.1.1 阻塞型数据结构和非阻塞型数据结构 241
11.1.2 并发数据结构 241
11.1.3 使用新特性 244
11.1.4 原子变量 251
11.1.5 变量句柄 252
11.2 同步机制 254
11.2.1 CommonTask类 255
11.2.2 Lock接口 255
11.2.3 Semaphore类 256
11.2.4 CountDownLatch类 258
11.2.5 CyclicBarrier类 259
11.2.6 CompletableFuture类 261
11.3 小结 268
第12章 测试与监视并发应用程序 269
12.1 监视并发对象 269
12.1.1 监视线程 269
12.1.2 监视锁 270
12.1.3 监视执行器 272
12.1.4 监视Fork/Join框架 273
12.1.5 监视Phaser 274
12.1.6 监视流API 275
12.2 监视并发应用程序 276
12.2.1 Overview选项卡 278
12.2.2 Memory选项卡 279
12.2.3 Threads选项卡 280
12.2.4 Classes选项卡 280
12.2.5 VM Summary选项卡 281
12.2.6 MBeans选项卡 283
12.2.7 About选项卡 284
12.3 测试并发应用程序 284
12.3.1 使用MultithreadedTC 测试并发应用程序 285
12.3.2 使用Java Pathfinder 测试并发应用程序 288
12.4 小结 293
第13章 JVM中的并发处理:Clojure、带有GPars库的Groovy以及Scala 294
13.1 Clojure的并发处理 294
13.1.1 使用Java元素 295
13.1.2 引用类型 295
13.1.3 Ref对象 298
13.1.4 Delay 299
13.1.5 Future 300
13.1.6 Promise 301
13.2 Groovy及其GPars库的并发处理 302
13.3 软件事务性内存 302
13.3.1 使用Java元素 302
13.3.2 数据并行处理 303
13.3.3 Fork/Join处理 307
13.3.4 Actor 308
13.3.5 Agent 315
13.3.6 Dataflow 316
13.4 Scala的并发处理 322
13.4.1 Scala中的Future对象 322
13.4.2 Promise 328
13.5 小结 329
- 《近代世界史文献丛编 19》王强主编 2017
- 《HTML5从入门到精通 第3版》(中国)明日科技 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《近代世界史文献丛编 36》王强主编 2017
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《近代世界史文献丛编 11》王强主编 2017
- 《近代世界史文献丛编 18》王强主编 2017
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《长期价值》高洁译;(英国)内维尔·艾斯戴尔,美戴维·比斯利 2019
- 《三个世界的西班牙人》(西)胡安·拉蒙·希梅内斯 2018
- 《极线杀手 来自严寒》(西)维克托·桑托斯 2019
- 《奇怪的袜子精灵》翟东钰译;(捷)帕维尔·施鲁特 2019
- 《巴拉巴西成功定律》匈牙利)艾伯特-拉斯洛?巴拉巴西 2019
- 《微观经济学》(美)罗伯特·S. 平狄克,(美)丹尼尔·L.鲁宾费尔德著 2019
- 《吃 食物如何改变我们人类和全球历史》菲利普费尔南多阿梅斯托 2020
- 《发育生物学》(芬)S.F.吉尔伯特,(美)M.J.F.巴雷西编者;罗静,岳漫宇,刘晶责编石德利译者 2020
- 《卡塞尔不欢迎逻辑》(西)恩里克·比拉-马塔斯著;施杰李,雪菲译 2019
- 《大师手绘经典 世界的尽头》(西)西尔维娅·南克拉雷斯著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019