国产TS紫迹丝袜高跟鞋在线,一区二区三区国产自产视频免费,67pao国产人成视频,午国产午夜激无码毛片不卡

愛碼網(wǎng)專注于資源免費(fèi)下載

Java高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì) PDF 下載

Java高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì) PDF 下載-第1張圖片 此部分為隱藏內(nèi)容,請輸入驗(yàn)證碼后查看
驗(yàn)證碼:


掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請購買正版!

一.資料截圖

Java高并發(fā)編程詳解:多線程與架構(gòu)設(shè)計(jì) PDF 下載-第2張圖片

二.資料介紹

本書共分為四個(gè)部分:部分詳細(xì)地介紹了Java多線程的基本用法和各個(gè)API的使用,并且著重介紹了線程與Java虛擬機(jī)內(nèi)存之間的關(guān)系。第二部分由線程上下文類加載器方法引入,介紹為什么在線程中要有上下文類加載器的方法函數(shù),從而掌握類在JVM的加載和初始化的整個(gè)過程。第三部分主要圍繞著volatile關(guān)鍵字展開,在該部分中我們將會了解到現(xiàn)代CPU的架構(gòu)以及Java的內(nèi)存模型(JMM)。后一部分,主要站在架構(gòu)設(shè)計(jì)的高度看待如何巧妙地開發(fā)出真正具備并發(fā)能力的系統(tǒng)。

三.作者簡介

汪文君,匯豐軟件(廣東)研發(fā)中心數(shù)據(jù)服務(wù)中心技術(shù)經(jīng)理、技術(shù)專家,目前專注于實(shí)時(shí)數(shù)據(jù)data pipeline平臺的構(gòu)建與架構(gòu),在加入?yún)R豐軟件以前,曾有7年多的移動通信工作經(jīng)驗(yàn),以及移動互聯(lián)網(wǎng)、云計(jì)算和B2C電子商務(wù)平臺的開發(fā)架構(gòu)經(jīng)驗(yàn),熱衷于技術(shù)分享、技術(shù)細(xì)節(jié)錘煉。目前已錄制10余套技術(shù)視頻,在互聯(lián)網(wǎng)上廣泛傳播。

四.資料目錄

推薦序一
推薦序二
推薦序三
推薦序四
前言
第一部分 多線程基礎(chǔ)
第1章 快速認(rèn)識線程 3
1.1 線程的介紹 3
1.2 快速創(chuàng)建并啟動一個(gè)線程 3
1.2.1 嘗試并行運(yùn)行 4
1.2.2 并發(fā)運(yùn)行交替輸出 5
1.2.3 使用Jconsole觀察線程 6
1.3 線程的生命周期詳解 7
1.3.1 線程的NEW狀態(tài) 8
1.3.2 線程的RUNNABLE狀態(tài) 8
1.3.3 線程的 RUNNING狀態(tài) 8
1.3.4 線程的BLOCKED狀態(tài) 8
1.3.5 線程的TERMINATED狀態(tài) 9
1.4 線程的start方法剖析:模板設(shè)計(jì)模式在Thread中的應(yīng)用 9
1.4.1 Thread start方法源碼分析以及注意事項(xiàng) 9
1.4.2 模板設(shè)計(jì)模式在Thread中的應(yīng)用 11
1.4.3 Thread模擬營業(yè)大廳叫號機(jī)程序 13
1.5 Runnable接口的引入以及策略模式在Thread中的使用 16
1.5.1 Runnable的職責(zé) 16
1.5.2 策略模式在Thread中的應(yīng)用 16
1.5.3 模擬營業(yè)大廳叫號機(jī)程序 18
1.6 本章總結(jié) 19
第2章 深入理解Thread構(gòu)造函數(shù) 20
2.1 線程的命名 20
2.1.1 線程的默認(rèn)命名 21
2.1.2 命名線程 21
2.1.3 修改線程的名字 22
2.2 線程的父子關(guān)系 22
2.3 Thread與ThreadGroup 23
2.4 Thread與Runnable 24
2.5 Thread與JVM虛擬機(jī)棧 25
2.5.1 Thread與Stacksize 25
2.5.2 JVM內(nèi)存結(jié)構(gòu) 27
2.5.3 Thread與虛擬機(jī)棧 30
2.6 守護(hù)線程 33
2.6.1 什么是守護(hù)線程 33
2.6.2 守護(hù)線程的作用 34
2.7 本章總結(jié) 34
第3章 Thread API的詳細(xì)介紹 35
3.1 線程sleep 35
3.1.1 sleep方法介紹 35
3.1.2 使用TimeUnit替代Thread.sleep 36
3.2 線程yield 37
3.2.1 yield方法介紹 37
3.2.2 yield和sleep 37
3.3 設(shè)置線程的優(yōu)先級 38
3.3.1 線程優(yōu)先級介紹 38
3.3.2 線程優(yōu)先級源碼分析 39
3.3.3 關(guān)于優(yōu)先級的一些總結(jié) 40
3.4 獲取線程ID 40
3.5 獲取當(dāng)前線程 41
3.6 設(shè)置線程上下文類加載器 41
3.7 線程interrupt 42
3.7.1 interrupt 42
3.7.2 isInterrupted 43
3.7.3 interrupted 45
3.7.4 interrupt注意事項(xiàng) 46
3.8 線程join 47
3.8.1 線程join方法詳解 48
3.8.2 join方法結(jié)合實(shí)戰(zhàn) 50
3.9 如何關(guān)閉一個(gè)線程 53
3.9.1 正常關(guān)閉 54
3.9.2 異常退出 56
3.9.3 進(jìn)程假死 56
3.10 本章總結(jié) 58
第4章 線程安全與數(shù)據(jù)同步 59
4.1 數(shù)據(jù)同步 59
4.1.1 數(shù)據(jù)不一致問題的引入 59
4.1.2 數(shù)據(jù)不一致問題原因分析 61
4.2 初識 synchronized關(guān)鍵字 62
4.2.1 什么是synchronized 63
4.2.2 synchronized關(guān)鍵字的用法 63
4.3 深入synchronized關(guān)鍵字 65
4.3.1 線程堆棧分析 65
4.3.2 JVM指令分析 67
4.3.3 使用synchronized需要注意的問題 70
4.4 This Monitor和Class Monitor的詳細(xì)介紹 72
4.4.1 this monitor 72
4.4.2 class monitor 74
4.5 程序死鎖的原因以及如何診斷 77
4.5.1 程序死鎖 77
4.5.2 程序死鎖舉例 77
4.5.3 死鎖診斷 80
4.6 本章總結(jié) 81
第5章 線程間通信 82
5.1 同步阻塞與異步非阻塞 82
5.1.1 同步阻塞消息處理 82
5.1.2 異步非阻塞消息處理 83
5.2 單線程間通信 84
5.2.1 初識wait和notify 84
5.2.2 wait和notify方法詳解 87
5.2.3 關(guān)于wait和notify的注意事項(xiàng) 89
5.2.4 wait和sleep 90
5.3 多線程間通信 90
5.3.1 生產(chǎn)者消費(fèi)者 90
5.3.2 線程休息室wait set 93
5.4 自定義顯式鎖BooleanLock 94
5.4.1 synchronized關(guān)鍵字的缺陷 94
5.4.2 顯式鎖BooleanLock 95
5.5 本章總結(jié) 104
第6章 ThreadGroup詳細(xì)講解 105
6.1 ThreadGroup與Thread 105
6.2 創(chuàng)建ThreadGroup 105
6.3 復(fù)制Thread數(shù)組和ThreadGroup數(shù)組 106
6.3.1 復(fù)制Thread數(shù)組 106
6.3.2 復(fù)制ThreadGroup數(shù)組 109
6.4 ThreadGroup操作 109
6.4.1 ThreadGroup的基本操作 110
6.4.2 ThreadGroup的interrupt 113
6.4.3 ThreadGroup的destroy 114
6.4.4 守護(hù)ThreadGroup 115
6.5 本章總結(jié) 116
第7章 Hook線程以及捕獲線程執(zhí)行異常 117
7.1 獲取線程運(yùn)行時(shí)異常 117
7.1.1 UncaughtExceptionHandler的介紹 117
7.1.2 UncaughtExceptionHandler實(shí)例 118
7.1.3 UncaughtExceptionHandler源碼分析 119
7.2 注入鉤子線程 121
7.2.1 Hook線程介紹 121
7.2.2 Hook線程實(shí)戰(zhàn) 122
7.2.3 Hook線程應(yīng)用場景以及注意事項(xiàng) 124
7.3 本章總結(jié) 124
第8章 線程池原理以及自定義線程池 125
8.1 線程池原理 125
8.2 線程池實(shí)現(xiàn) 126
8.2.1 線程池接口定義 127
8.2.2 線程池詳細(xì)實(shí)現(xiàn) 131
8.3 線程池的應(yīng)用 139
8.4 本章總結(jié) 142
第二部分 Java ClassLoader
第9章 類的加載過程 144
9.1 類的加載過程簡介 144
9.2 類的主動使用和被動使用 145
9.3 類的加載過程詳解 148
9.3.1 類的加載階段 148
9.3.2 類的連接階段 149
9.3.3 類的初始化階段 154
9.4 本章總結(jié) 156
第10章 JVM類加載器 158
10.1 JVM內(nèi)置三大類加載器 158
10.1.1 根類加載器介紹 159
10.1.2 擴(kuò)展類加載器介紹 159
10.1.3 系統(tǒng)類加載器介紹 160
10.2 自定義類加載器 161
10.2.1 自定義類加載器,問候世界 161
10.2.2 雙親委托機(jī)制詳細(xì)介紹 165
10.2.3 破壞雙親委托機(jī)制 167
10.2.4 類加載器命名空間、運(yùn)行時(shí)包、類的卸載等 170
10.3 本章總結(jié) 175
第11章 線程上下文類加載器 177
11.1 為什么需要線程上下文類加載器 177
11.2 數(shù)據(jù)庫驅(qū)動的初始化源碼分析 178
11.3 本章總結(jié) 180
第三部分 深入理解volatile關(guān)鍵字
第12章 volatile關(guān)鍵字的介紹 182
12.1 初識volatile關(guān)鍵字 182
12.2 機(jī)器硬件CPU 184
12.2.1 CPU Cache模型 184
12.2.2 CPU緩存一致性問題 186
12.3 Java內(nèi)存模型 187
12.4 本章總結(jié) 188
第13章 深入volatile關(guān)鍵字 189
13.1 并發(fā)編程的三個(gè)重要特性 189
13.1.1 原子性 189
13.1.2 可見性 190
13.1.3 有序性 190
13.2 JMM如何保證三大特性 191
13.2.1 JMM與原子性 192
13.2.2 JMM與可見性 193
13.2.3 JMM與有序性 194
13.3 volatile關(guān)鍵字深入解析 195
13.3.1 volatile關(guān)鍵字的語義 195
13.3.2 volatile的原理和實(shí)現(xiàn)機(jī)制 197
13.3.3 volatile的使用場景 198
13.3.4 volatile和synchronized 199
13.4 本章總結(jié) 200
第14章 7種單例設(shè)計(jì)模式的設(shè)計(jì) 201
14.1 餓漢式 201
14.2 懶漢式 202
14.3 懶漢式+同步方法 203
14.4 Double-Check 204
14.5 Volatile+Double-Check 206
14.6 Holder方式 206
14.7 枚舉方式 207
14.8 本章總結(jié) 208
第四部分 多線程設(shè)計(jì)架構(gòu)模式
第15章 監(jiān)控任務(wù)的生命周期 212
15.1 場景描述 212
15.2 當(dāng)觀察者模式遇到Thread 212
15.2.1 接口定義 212
15.2.2 ObservableThread實(shí)現(xiàn) 215
15.3 本章總結(jié) 217
15.3.1 測試運(yùn)行 217
15.3.2 關(guān)鍵點(diǎn)總結(jié) 219
第16章 Single Thread Execution設(shè)計(jì)模式 220
16.1 機(jī)場過安檢 220
16.1.1 非線程安全 221
16.1.2 問題分析 223
16.1.3 線程安全 225
16.2 吃面問題 225
16.2.1 吃面引起的死鎖 226
16.2.2 解決吃面引起的死鎖問題 228
16.2.3 哲學(xué)家吃面 229
16.3 本章總結(jié) 230
第17章 讀寫鎖分離設(shè)計(jì)模式 231
17.1 場景描述 231
17.2 讀寫分離程序設(shè)計(jì) 232
17.2.1 接口定義 232
17.2.2 程序?qū)崿F(xiàn) 234
17.3 讀寫鎖的使用 239
17.4 本章總結(jié) 242
第18章 不可變對象設(shè)計(jì)模式 244
18.1 線程安全性 244
18.2 不可變對象的設(shè)計(jì) 244
18.2.1 非線程安全的累加器 245
18.2.2 方法同步增加線程安全性 247
18.2.3 不可變的累加器對象設(shè)計(jì) 248
18.3 本章總結(jié) 249
第19章 Future設(shè)計(jì)模式 251
19.1 先給你一張憑據(jù) 251
19.2 Future設(shè)計(jì)模式實(shí)現(xiàn) 251
19.2.1 接口定義 252
19.2.2 程序?qū)崿F(xiàn) 253
19.3 Future的使用以及技巧總結(jié) 256
19.4 增強(qiáng)FutureService使其支持回調(diào) 257
19.5 本章總結(jié) 258
第20章 Guarded Suspension設(shè)計(jì)模式 259
20.1 什么是Guarded Suspension設(shè)計(jì)模式 259
20.2 Guarded Suspension的示例 259
20.3 本章總結(jié) 261
第21章 線程上下文設(shè)計(jì)模式 262
21.1 什么是上下文 262
21.2 線程上下文設(shè)計(jì) 263
21.3 ThreadLocal詳解 264
21.3.1 ThreadLocal的使用場景及注意事項(xiàng) 265
21.3.2 ThreadLocal的方法詳解及源碼分析 265
21.3.3 ThreadLocal的內(nèi)存泄漏問題分析 270
21.4 使用ThreadLocal設(shè)計(jì)線程上下文 274
21.5 本章總結(jié) 276
第22章 Balking設(shè)計(jì)模式 277
22.1 什么是Balking設(shè)計(jì) 277
22.2 Balking模式之文檔編輯 278
22.2.1 Document 278
22.2.2 AutoSaveThread 280
22.2.3 DocumentEditThread 281
22.3 本章總結(jié) 283
第23章 Latch設(shè)計(jì)模式 284
23.1 什么是Latch 284
23.2 CountDownLatch程序?qū)崿F(xiàn) 285
23.2.1 無限等待的Latch 285
23.2.2 有超時(shí)設(shè)置的Latch 289
23.3 本章總結(jié) 291
第24章 Thread-Per-Message設(shè)計(jì)模式 293
24.1 什么是Thread-Per-Message模式 293
24.2 每個(gè)任務(wù)一個(gè)線程 293
24.3 多用戶的網(wǎng)絡(luò)聊天 296
24.3.1 服務(wù)端程序 296
24.3.2 響應(yīng)客戶端連接的Handler 297
24.3.3 聊天程序測試 299
24.4 本章總結(jié) 300
第25章 Two Phase Termination設(shè)計(jì)模式 301
25.1 什么是Two Phase Termination模式 301
25.2 Two Phase Termination的示例 302
25.2.1 線程停止的Two Phase Termination 302
25.2.2 進(jìn)程關(guān)閉的Two Phase Termination 303
25.3 知識擴(kuò)展 304
25.3.1 Strong Reference及LRUCache 304
25.3.2 Soft Reference及SoftLRUCache 308
25.3.3 Weak Reference 311
25.3.4 Phantom Reference 312
25.4 本章總結(jié) 314
第26章 Worker-Thread設(shè)計(jì)模式 315
26.1 什么是Worker-Thread模式 315
26.2 Worker-Thread模式實(shí)現(xiàn) 315

本文鏈接:http://fangxuan.com.cn/java/135.html

網(wǎng)友評論

熱門文章
隨機(jī)文章
熱門標(biāo)簽
側(cè)欄廣告位