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

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

Java并發(fā)編程的藝術(shù) PDF 下載

Java并發(fā)編程的藝術(shù) PDF 下載-第1張圖片 此部分為隱藏內(nèi)容,請(qǐng)輸入驗(yàn)證碼后查看
驗(yàn)證碼:


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

一.相關(guān)截圖

Java并發(fā)編程的藝術(shù) PDF 下載-第2張圖片

二.資料簡(jiǎn)介

并發(fā)編程領(lǐng)域的扛鼎之作,作者是阿里和1號(hào)店的資深Java技術(shù)專家,對(duì)并發(fā)編程有非常深入的研究,《Java并發(fā)編程的藝術(shù)》是他們多年一線開發(fā)經(jīng)驗(yàn)的結(jié)晶。本書的部分內(nèi)容在出版早期發(fā)表在Java并發(fā)編程網(wǎng)和InfoQ等技術(shù)社區(qū),得到了非常高的評(píng)價(jià)。它選取了Java并發(fā)編程中最核心的技術(shù)進(jìn)行講解,從JDK源碼、JVM、CPU等多角度全面剖析和講解了Java并發(fā)編程的框架、工具、原理和方法,對(duì)Java并發(fā)編程進(jìn)行了最為深入和透徹的闡述。

《Java并發(fā)編程的藝術(shù)》內(nèi)容涵蓋Java并發(fā)編程機(jī)制的底層實(shí)現(xiàn)原理、Java內(nèi)存模型、Java并發(fā)編程基礎(chǔ)、Java中的鎖、并發(fā)容器和框架、原子類、并發(fā)工具類、線程池、Executor框架等主題,每個(gè)主題都做了深入的講解,同時(shí)通過(guò)實(shí)例介紹了如何應(yīng)用這些技術(shù)。

三.資料目錄

前 言

第1章 并發(fā)編程的挑戰(zhàn) 1

1.1 上下文切換 1

1.1.1 多線程一定快嗎 1

1.1.2 測(cè)試上下文切換次數(shù)和時(shí)長(zhǎng) 3

1.1.3 如何減少上下文切換 3

1.1.4 減少上下文切換實(shí)戰(zhàn) 4

1.2 死鎖 5

1.3 資源限制的挑戰(zhàn) 6

1.4 本章小結(jié) 7

第2章 Java并發(fā)機(jī)制的底層實(shí)現(xiàn)原理 8

2.1 volatile的應(yīng)用 8

2.2 synchronized的實(shí)現(xiàn)原理與應(yīng)用 11

2.2.1 Java對(duì)象頭 12

2.2.2 鎖的升級(jí)與對(duì)比 13

2.3 原子操作的實(shí)現(xiàn)原理 16

2.4 本章小結(jié) 20

第3章 Java內(nèi)存模型 21

3.1 Java內(nèi)存模型的基礎(chǔ) 21

3.1.1 并發(fā)編程模型的兩個(gè)關(guān)鍵問題 21

3.1.2 Java內(nèi)存模型的抽象結(jié)構(gòu) 22

3.1.3 從源代碼到指令序列的重排序 23

3.1.4 并發(fā)編程模型的分類 24

3.1.5 happens-before簡(jiǎn)介 26

3.2 重排序 27

3.2.1 數(shù)據(jù)依賴性 28

3.2.2 as-if-serial語(yǔ)義 28

3.2.3 程序順序規(guī)則 29

3.2.4 重排序?qū)Χ嗑€程的影響 29

3.3 順序一致性 31

3.3.1 數(shù)據(jù)競(jìng)爭(zhēng)與順序一致性 31

3.3.2 順序一致性內(nèi)存模型 32

3.3.3 同步程序的順序一致性效果 34

3.3.4 未同步程序的執(zhí)行特性 35

3.4 volatile的內(nèi)存語(yǔ)義 38

3.4.1 volatile的特性 38

3.4.2 volatile寫-讀建立的happens-before關(guān)系 39

3.4.3 volatile寫-讀的內(nèi)存語(yǔ)義 40

3.4.4 volatile內(nèi)存語(yǔ)義的實(shí)現(xiàn) 42

3.4.5 JSR-133為什么要增強(qiáng)volatile的內(nèi)存語(yǔ)義 46

3.5 鎖的內(nèi)存語(yǔ)義 47

3.5.1 鎖的釋放-獲取建立的

happens-before關(guān)系 47

3.5.2 鎖的釋放和獲取的內(nèi)存語(yǔ)義 48

3.5.3 鎖內(nèi)存語(yǔ)義的實(shí)現(xiàn) 50

3.5.4 concurrent包的實(shí)現(xiàn) 54

3.6 final域的內(nèi)存語(yǔ)義 55

3.6.1 final域的重排序規(guī)則 55

3.6.2 寫final域的重排序規(guī)則 56

3.6.3 讀final域的重排序規(guī)則 57

3.6.4 final域?yàn)橐妙愋?58

3.6.5 為什么final引用不能從構(gòu)造函數(shù)內(nèi)“溢出” 59

3.6.6 final語(yǔ)義在處理器中的實(shí)現(xiàn) 61

3.6.7 JSR-133為什么要增強(qiáng)f?inal的語(yǔ)義 62

3.7 happens-before 62

3.7.1 JMM的設(shè)計(jì) 62

3.7.2 happens-before的定義 64

3.7.3 happens-before規(guī)則 65

3.8 雙重檢查鎖定與延遲初始化 67

3.8.1 雙重檢查鎖定的由來(lái) 67

3.8.2 問題的根源 69

3.8.3 基于volatile的解決方案 71

3.8.4 基于類初始化的解決方案 72

3.9 Java內(nèi)存模型綜述 78

3.9.1 處理器的內(nèi)存模型 78

3.9.2 各種內(nèi)存模型之間的關(guān)系 80

3.9.3 JMM的內(nèi)存可見性保證 80

3.9.4 JSR-133對(duì)舊內(nèi)存模型的修補(bǔ) 81

3.10 本章小結(jié) 82

第4章 Java并發(fā)編程基礎(chǔ) 83

4.1 線程簡(jiǎn)介 83

4.1.1 什么是線程 83

4.1.2 為什么要使用多線程 84

4.1.3 線程優(yōu)先級(jí) 85

4.1.4 線程的狀態(tài) 87

4.1.5 Daemon線程 90

4.2 啟動(dòng)和終止線程 91

4.2.1 構(gòu)造線程 91

4.2.2 啟動(dòng)線程 92

4.2.3 理解中斷 92

4.2.4 過(guò)期的suspend()、resume()和stop() 93

4.2.5 安全地終止線程 95

4.3 線程間通信 96

4.3.1 volatile和synchronized關(guān)鍵字 96

4.3.2 等待/通知機(jī)制 98

4.3.3 等待/通知的經(jīng)典范式 101

4.3.4 管道輸入/輸出流 102

4.3.5 Thread.join()的使用 103

4.3.6 ThreadLocal的使用 105

4.4 線程應(yīng)用實(shí)例 106

4.4.1 等待超時(shí)模式 106

4.4.2 一個(gè)簡(jiǎn)單的數(shù)據(jù)庫(kù)連接池示例 106

4.4.3 線程池技術(shù)及其示例 110

4.4.4 一個(gè)基于線程池技術(shù)的簡(jiǎn)單Web服務(wù)器 114

4.5 本章小結(jié) 118

第5章 Java中的鎖 119

5.1 Lock接口 119

5.2 隊(duì)列同步器 121

5.2.1 隊(duì)列同步器的接口與示例 121

5.2.2 隊(duì)列同步器的實(shí)現(xiàn)分析 124

5.3 重入鎖 136

5.4 讀寫鎖 140

5.4.1 讀寫鎖的接口與示例 141

5.4.2 讀寫鎖的實(shí)現(xiàn)分析 142

5.5 LockSupport工具 146

5.6 Condition接口 147

5.6.1 Condition接口與示例 148

5.6.2 Condition的實(shí)現(xiàn)分析 150

5.7 本章小結(jié) 154

第6章 Java并發(fā)容器和框架 155

6.1 ConcurrentHashMap的實(shí)現(xiàn)原理與使用 155

6.1.1 為什么要使用ConcurrentHashMap 155

6.1.2 ConcurrentHashMap的結(jié)構(gòu) 156

6.1.3 ConcurrentHashMap的初始化 157

6.1.4 定位Segment 159

6.1.5 ConcurrentHashMap的操作 160

6.2 ConcurrentLinkedQueue 161

6.2.1 ConcurrentLinkedQueue的結(jié)構(gòu) 162

6.2.2 入隊(duì)列 162

6.2.3 出隊(duì)列 165

6.3 Java中的阻塞隊(duì)列 167

6.3.1 什么是阻塞隊(duì)列 167

6.3.2 Java里的阻塞隊(duì)列 168

6.3.3 阻塞隊(duì)列的實(shí)現(xiàn)原理 172

6.4 Fork/Join框架 175

6.4.1 什么是Fork/Join框架 175

6.4.2 工作竊取算法 176

6.4.3 Fork/Join框架的設(shè)計(jì) 177

6.4.4 使用Fork/Join框架 177

6.4.5 Fork/Join框架的異常處理 179

6.4.6 Fork/Join框架的實(shí)現(xiàn)原理 179

6.5 本章小結(jié) 181

第7章 Java中的13個(gè)原子操作類 182

7.1 原子更新基本類型類 182

7.2 原子更新數(shù)組 184

7.3 原子更新引用類型 185

7.4 原子更新字段類 187

7.5 本章小結(jié) 188

第8章 Java中的并發(fā)工具類 189

8.1 等待多線程完成的CountDownLatch 189

8.2 同步屏障CyclicBarrier 191

8.2.1 CyclicBarrier簡(jiǎn)介 191

8.2.2 CyclicBarrier的應(yīng)用場(chǎng)景 193

8.2.3 CyclicBarrier和CountDownLatch的區(qū)別 195

8.3 控制并發(fā)線程數(shù)的Semaphore 196

8.4 線程間交換數(shù)據(jù)的Exchanger 198

8.5 本章小結(jié) 199

第9章 Java中的線程池 200

9.1 線程池的實(shí)現(xiàn)原理 200

9.2 線程池的使用 203

9.2.1 線程池的創(chuàng)建 203

9.2.2 向線程池提交任務(wù) 205

9.2.3 關(guān)閉線程池 205

9.2.4 合理地配置線程池 206

9.2.5 線程池的監(jiān)控 206

9.3 本章小結(jié) 207

第10章 Executor框架 208

10.1 Executor框架簡(jiǎn)介 208

10.1.1 Executor框架的兩級(jí)調(diào)度模型 208

10.1.2 Executor框架的結(jié)構(gòu)與成員 208

10.2 ThreadPoolExecutor詳解 213

10.2.1 FixedThreadPool詳解 213

10.2.2 SingleThreadExecutor詳解 214

10.2.3 CachedThreadPool詳解 215

10.3 ScheduledThreadPoolExecutor詳解 217

10.3.1 ScheduledThreadPoolExecutor的運(yùn)行機(jī)制 217

10.3.2 ScheduledThreadPoolExecutor的實(shí)現(xiàn) 218

10.4 FutureTask詳解 221

10.4.1 FutureTask簡(jiǎn)介 222

10.4.2 FutureTask的使用 222

10.4.3 FutureTask的實(shí)現(xiàn) 224

10.5 本章小結(jié) 227

第11章 Java并發(fā)編程實(shí)踐 228

11.1 生產(chǎn)者和消費(fèi)者模式 228

11.1.1 生產(chǎn)者消費(fèi)者模式實(shí)戰(zhàn) 229

11.1.2 多生產(chǎn)者和多消費(fèi)者場(chǎng)景 231

11.1.3 線程池與生產(chǎn)消費(fèi)者模式 234

11.2 線上問題定位 234

11.3 性能測(cè)試 236

11.4 異步任務(wù)池 238

11.5 本章小結(jié) 240

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

網(wǎng)友評(píng)論

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