欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

精通Java并發(fā)編程(第2版) 帶目錄完整pdf[200MB]

精通Java并發(fā)編程下載

  • 書籍大?。?span>200MB
  • 書籍語言:簡體中文
  • 書籍類型:國產(chǎn)軟件
  • 書籍授權(quán):免費(fèi)軟件
  • 書籍類別:java電子書
  • 應(yīng)用平臺(tái):PDF
  • 更新時(shí)間:2019-11-04
  • 購買鏈接:
  • 網(wǎng)友評(píng)分:
360通過 騰訊通過 金山通過

情介紹

Java 提供了一套非常強(qiáng)大的并發(fā)API,可以輕松實(shí)現(xiàn)任何類型的并發(fā)應(yīng)用程序。本書講述Java 并發(fā)API *重要的元素,包括執(zhí)行器框架、Phaser 類、Fork/Join 框架、流API、并發(fā)數(shù)據(jù)結(jié)構(gòu)、同步機(jī)制,并展示如何在實(shí)際開發(fā)中使用它們。此外,本書還介紹了設(shè)計(jì)并發(fā)應(yīng)用程序的方法論、設(shè)計(jì)模式、實(shí)現(xiàn)良好并發(fā)應(yīng)用程序的提示和技巧、測(cè)試并發(fā)應(yīng)用程序的工具和方法,以及如何使用面向Java 虛擬機(jī)的其他編程語言實(shí)現(xiàn)并發(fā)應(yīng)用程序。

目錄

第 1 章 第 一步:并發(fā)設(shè)計(jì)原理    1
1.1 基本的并發(fā)概念 1
1.1.1 并發(fā)與并行 1
1.1.2 同步 2
1.1.3 不可變對(duì)象 2
1.1.4 原子操作和原子變量 3
1.1.5 共享內(nèi)存與消息傳遞 3
1.2 并發(fā)應(yīng)用程序中可能出現(xiàn)的問題 3
1.2.1 數(shù)據(jù)競(jìng)爭 3
1.2.2 死鎖 4
1.2.3 活鎖 4
1.2.4 資源不足 4
1.2.5 優(yōu)先權(quán)反轉(zhuǎn) 5
1.3 設(shè)計(jì)并發(fā)算法的方法論 5
1.3.1 起點(diǎn):算法的一個(gè)串行版本 5
1.3.2 第 1 步:分析 5
1.3.3 第 2 步:設(shè)計(jì) 5
1.3.4 第3 步:實(shí)現(xiàn) 6
1.3.5 第4 步:測(cè)試 6
1.3.6 第5 步:調(diào)整 6
1.3.7 結(jié)論 7
1.4 Java 并發(fā)API 8
1.4.1 基本并發(fā)類 8
1.4.2 同步機(jī)制 8
1.4.3 執(zhí)行器 9
1.4.4 Fork/Join 框架 9
1.4.5 并行流 9
1.4.6 并發(fā)數(shù)據(jù)結(jié)構(gòu) 9
1.5 并發(fā)設(shè)計(jì)模式 10
1.5.1 信號(hào)模式 10
1.5.2 會(huì)合模式 11
1.5.3 互斥模式 11
1.5.4 多元復(fù)用模式 12
1.5.5 柵欄模式 12
1.5.6 雙重檢查鎖定模式 12
1.5.7 讀 寫鎖模式 13
1.5.8 線程池模式 14
1.5.9 線程局部存儲(chǔ)模式 14
1.6 設(shè)計(jì)并發(fā)算法的提示和技巧 14
1.6.1 正確識(shí)別獨(dú)立任務(wù) 14
1.6.2 在盡可能高的層面上實(shí)施并發(fā)處理 15
1.6.3 考慮伸縮性 15
1.6.4 使用線程安全API 15
1.6.5 絕不要假定執(zhí)行順序 16
1.6.6 在靜態(tài)和共享場(chǎng)合盡可能使用局部線程變量 16
1.6.7 尋找更易于并行處理的算法版本 17
1.6.8 盡可能使用不可變對(duì)象 17
1.6.9 通過對(duì)鎖排序來避免死鎖 17
1.6.10 使用原子變量代替同步 18
1.6.11 占有鎖的時(shí)間盡可能短 19
1.6.12 謹(jǐn)慎使用延遲初始化 19
1.6.13 避免在臨界段中使用阻塞操作 19
1.7 小結(jié) 20
第 2 章 使用基本元素:Thread 和Runnable 21
2.1 Java 中的線程 21
2.1.1 Java 中的線程:特征和狀態(tài) 22
2.1.2 Thread 類和Runnable 接口 23
2.2 第 一個(gè)例子:矩陣乘法 24
2.2.1 公共類 24
2.2.2 串行版本 25
2.2.3 并行版本 25
2.3 第二個(gè)例子:文件搜索 32
2.3.1 公共類 32
2.3.2 串行版本 32
2.3.3 并發(fā)版本 33
2.3.4 對(duì)比解決方案 37
2.4 小結(jié) 38
第3 章 管理大量線程:執(zhí)行器 39
3.1 執(zhí)行器簡介 39
3.1.1 執(zhí)行器的基本特征 39
3.1.2 執(zhí)行器框架的基本組件 40
3.2 第 一個(gè)例子:k-最近鄰算法 40
3.2.1 k-最近鄰算法:串行版本 41
3.2.2 k-最近鄰算法:細(xì)粒度并發(fā)版本 42
3.2.3 k-最近鄰算法:粗粒度并發(fā)版本 45
3.2.4 對(duì)比解決方案 46
3.3 第二個(gè)例子:客戶端/服務(wù)器環(huán)境下的并發(fā)處理 48
3.3.1 客戶端/服務(wù)器:串行版 48
3.3.2 客戶端/服務(wù)器:并行版本 51
3.3.3 額外的并發(fā)服務(wù)器組件 54
3.3.4 對(duì)比兩種解決方案 59
3.3.5 其他重要方法 61
3.4 小結(jié) 62
第4 章 充分利用執(zhí)行器 63
4.1 執(zhí)行器的高級(jí)特性 63
4.1.1 任務(wù)的撤銷 63
4.1.2 任務(wù)執(zhí)行調(diào)度 64
4.1.3 重載執(zhí)行器方法 64
4.1.4 更改一些初始化參數(shù) 64
4.2 第 一個(gè)例子:高級(jí)服務(wù)器應(yīng)用程序 65
4.2.1 ServerExecutor 類 65
4.2.2 命令類 70
4.2.3 服務(wù)器部件 72
4.2.4 客戶端部件 78
4.3 第二個(gè)例子:執(zhí)行周期性任務(wù) 79
4.3.1 公共部件 79
4.3.2 基礎(chǔ)閱讀器 81
4.3.3 高級(jí)閱讀器 84
4.4 有關(guān)執(zhí)行器的其他信息 87
4.5 小結(jié) 87
第5 章 從任務(wù)獲取數(shù)據(jù):Callable接口與Future 接口 88
5.1 Callable 接口和Future 接口簡介 88
5.1.1 Callable 接口 88
5.1.2 Future 接口 89
5.2 第 一個(gè)例子:單詞最佳匹配算法 89
5.2.1 公共類 90
5.2.2 最佳匹配算法:串行版本 91
5.2.3 最佳匹配算法:第 一個(gè)并發(fā)版本 92
5.2.4 最佳匹配算法:第二個(gè)并發(fā)版本 95
5.2.5 單詞存在算法:串行版本 96
5.2.6 單詞存在算法:并行版本 98
5.2.7 對(duì)比解決方案 100
5.3 第二個(gè)例子:為文檔集創(chuàng)建倒排索引 102
5.3.1 公共類 103
5.3.2 串行版本 104
5.3.3 第 一個(gè)并發(fā)版本:每個(gè)文檔一個(gè)任務(wù) 105
5.3.4 第二個(gè)并發(fā)版本:每個(gè)任務(wù)多個(gè)文檔 109
5.3.5 對(duì)比解決方案 112
5.3.6 其他相關(guān)方法 113
5.4 小結(jié) 113
第6 章 運(yùn)行分為多階段的任務(wù):Phaser 類 115
6.1 Phaser 類簡介 115
6.1.1 參與者的注冊(cè)與注銷 116
6.1.2 同步階段變更 116
6.1.3 其他功能 116
6.2 第 一個(gè)例子:關(guān)鍵字抽取算法 117
6.2.1 公共類 118
6.2.2 串行版本 121
6.2.3 并發(fā)版本 123
6.2.4 對(duì)比兩種解決方案 128
6.3 第二個(gè)例子:遺傳算法 129
6.3.1 公共類 130
6.3.2 串行版本 132
6.3.3 并發(fā)版本 134
6.3.4 對(duì)比兩種解決方案 139
6.4 小結(jié) 141
第7 章 優(yōu)化分治解決方案:
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 第 一個(gè)例子:k-means 聚類算法 144
7.2.1 公共類 145
7.2.2 串行版本 149
7.2.3 并發(fā)版本 151
7.2.4 對(duì)比解決方案 155
7.3 第二個(gè)例子:數(shù)據(jù)篩選算法 157
7.3.1 公共特性 157
7.3.2 串行版 157
7.3.3 并發(fā)版本 159
7.3.4 對(duì)比兩個(gè)版本 165
7.4 第三個(gè)例子:歸并排序算法 166
7.4.1 共享類 166
7.4.2 串行版本 167
7.4.3 并發(fā)版本 169
7.4.4 對(duì)比兩個(gè)版本 172
7.5 Fork/Join 框架的其他方法 172
7.6 小結(jié) 173
第8 章 使用并行流處理大規(guī)模數(shù)據(jù)集:MapReduce 模型 174
8.1 流的簡介 174
8.1.1 流的基本特征 174
8.1.2 流的組成部分 175
8.1.3 MapReduce 與MapCollect 177
8.2 第 一個(gè)例子:數(shù)值綜合分析應(yīng)用程序 178
8.2.1 并發(fā)版本 178
8.2.2 串行版本 185
8.2.3 對(duì)比兩個(gè)版本 186
8.3 第二個(gè)例子:信息檢索工具 186
8.3.1 約簡操作簡介 187
8.3.2 第 一種方式:全文檔查詢 188
8.3.3 第二種方式:約簡的文檔查詢 191
8.3.4 第三種方式:生成一個(gè)含有結(jié)果的HTML 文件 191
8.3.5 第四種方式:預(yù)先載入倒排索引 194
8.3.6 第五種方式:使用我們的執(zhí)行器 195
8.3.7 從倒排索引獲取數(shù)據(jù):ConcurrentData 類 196
8.3.8 獲取文件中的單詞數(shù) 196
8.3.9 獲取文件的平均tfxidf 值 196
8.3.10 獲取索引中的最大tfxidf值和最小tfxidf 值 197
8.3.11 ConcurrentMain 類 198
8.3.12 串行版 199
8.3.13 對(duì)比兩種解決方案 199
8.4 小結(jié) 202
第9 章 使用并行流處理大規(guī)模數(shù)據(jù)集:MapCollect 模型 203
9.1 使用流收集數(shù)據(jù) 203
9.2 第 一個(gè)例子:無索引條件下的數(shù)據(jù)搜索 205
9.2.1 基本類 205
9.2.2 第 一種方式:基本搜索 207
9.2.3 第二種方式:高級(jí)搜索 209
9.2.4 本例的串行實(shí)現(xiàn) 211
9.2.5 對(duì)比實(shí)現(xiàn)方案 211
9.3 第二個(gè)例子:推薦系統(tǒng) 212
9.3.1 公共類 212
9.3.2 推薦系統(tǒng):主類 213
9.3.3 ConcurrentLoaderAccumulator 類 215
9.3.4 串行版 216
9.3.5 對(duì)比兩個(gè)版本 216
9.4 第三個(gè)例子:社交網(wǎng)絡(luò)中的共同聯(lián)系人 217
9.4.1 基本類 218
9.4.2 并發(fā)版本 219
9.4.3 串行版本 223
9.4.4 對(duì)比兩個(gè)版本 223
9.5 小結(jié) 224
第 10 章 異步流處理:反應(yīng)流 225
10.1 Java 反應(yīng)流簡介 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 第 一個(gè)例子:面向事件通知的集中式系統(tǒng) 227
10.2.1 Event 類 227
10.2.2 Producer 類 227
10.2.3 Consumer 類 228
10.2.4 Main 類 230
10.3 第二個(gè)例子:新聞系統(tǒng) 231
10.3.1 News 類 232
10.3.2 發(fā)布者相關(guān)的類 232
10.3.3 Consumer 類 235
10.3.4 Main 類 236
10.4 小結(jié) 238
第 11 章 探究并發(fā)數(shù)據(jù)結(jié)構(gòu)和同步工具 240
11.1 并發(fā)數(shù)據(jù)結(jié)構(gòu) 240
11.1.1 阻塞型數(shù)據(jù)結(jié)構(gòu)和非阻塞型數(shù)據(jù)結(jié)構(gòu) 241
11.1.2 并發(fā)數(shù)據(jù)結(jié)構(gòu) 241
11.1.3 使用新特性 244
11.1.4 原子變量 251
11.1.5 變量句柄 252
11.2 同步機(jī)制 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 小結(jié) 268
第 12 章 測(cè)試與監(jiān)視并發(fā)應(yīng)用程序 269
12.1 監(jiān)視并發(fā)對(duì)象 269
12.1.1 監(jiān)視線程 269
12.1.2 監(jiān)視鎖 270
12.1.3 監(jiān)視執(zhí)行器 272
12.1.4 監(jiān)視Fork/Join 框架 273
12.1.5 監(jiān)視Phaser 274
12.1.6 監(jiān)視流API 275
12.2 監(jiān)視并發(fā)應(yīng)用程序 276
12.2.1 Overview 選項(xiàng)卡 278
12.2.2 Memory 選項(xiàng)卡 279
12.2.3 Threads 選項(xiàng)卡 280
12.2.4 Classes 選項(xiàng)卡 280
12.2.5 VM Summary 選項(xiàng)卡 281
12.2.6 MBeans 選項(xiàng)卡 283
12.2.7 About 選項(xiàng)卡 284
12.3 測(cè)試并發(fā)應(yīng)用程序 284
12.3.1 使用MultithreadedTC 測(cè)試并發(fā)應(yīng)用程序 285
12.3.2 使用Java Pathfinder 測(cè)試并發(fā)應(yīng)用程序 288
12.4 小結(jié) 293
第 13 章 JVM 中的并發(fā)處理:Clojure、帶有GPars 庫的Groovy 以及Scala 294
13.1 Clojure 的并發(fā)處理 294
13.1.1 使用Java 元素 295
13.1.2 引用類型 295
13.1.3 Ref 對(duì)象 298
13.1.4 Delay 299
13.1.5 Future 300
13.1.6 Promise 301
13.2 Groovy 及其GPars 庫的并發(fā)處理 302
13.3 軟件事務(wù)性內(nèi)存 302
13.3.1 使用Java 元素 302
13.3.2 數(shù)據(jù)并行處理 303
13.3.3 Fork/Join 處理 307
13.3.4 Actor 308
13.3.5 Agent 315
13.3.6 Dataf low 316
13.4 Scala 的并發(fā)處理 322
13.4.1 Scala 中的Future 對(duì)象 322
13.4.2 Promise 328
13.5 小結(jié) 329

載地址

下載錯(cuò)誤?【投訴報(bào)錯(cuò)】

精通Java并發(fā)編程(第2版) 帶目錄完整pdf[200MB]

      氣書籍

      載聲明

      ☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
      ☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過一段時(shí)間重試!或者多試試幾個(gè)下載地址
      ☉ 如果遇到什么問題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購買正版。
      ☉ 本站提供的精通Java并發(fā)編程(第2版) 帶目錄完整pdf[200MB] 資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。