-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
一本書講透JAVA線程:原理與實踐 版權信息
- ISBN:9787111737261
- 條形碼:9787111737261 ; 978-7-111-73726-1
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
一本書講透JAVA線程:原理與實踐 本書特色
本書由科大訊飛高級系統架構師撰寫,結合大量源碼與圖示,通俗易懂;自頂向下解析JDK、JVM、Linux中的Java線程通信機制、同步機制、鎖機制、原子計數器、線程安全容器、線程池的實現原理與應用技巧。
一本書講透JAVA線程:原理與實踐 內容簡介
本書由科大訊飛高級系統架構師撰寫,結合大量源碼與圖示,通俗易懂;自頂向下解析JDK、JVM、Linux中的Java線程通信機制、同步機制、鎖機制、原子計數器、線程安全容器、線程池的實現原理與應用技巧。全書共12章,分為三篇。 基礎篇(第1~5章),從Linux的線程基礎講起,重點從JDK、JVM、Linux多個維度講解Java線程的設計、通信與同步機制,如內存一致性、內存屏障、多線程間數據通信、并發控制等核心知識,從而在實際開發中提高程序的性能和穩定性。 進階篇(第6~9章),從CPU的架構講起,重點講解鎖算法(MCS、CLH、AQS)、Java鎖機制、原子計數器、線程并發容器、線程池的設計原理與實現,以期讓讀者掌握Java線程的進階知識,不僅能開發出高性能的程序,而且遇到問題可以舉一反三,找到很好方案。 應用篇(第10~11章),詳細講解Java線程的常見模型與使用技巧。以電商真實場景為例,從面臨的挑戰、基于Java多線程的實現方案與優化等角度層層遞進,讓讀者感受真實的Java線程“威力”。 *后,總結多線程編程的常見問題與使用技巧。
一本書講透JAVA線程:原理與實踐 目錄
前言
基礎篇
第1章 Linux線程基礎2
1.1 Linux進程2
1.1.1 深入理解進程2
1.1.2 進程描述符3
1.1.3 進程創建6
1.1.4 上下文切換7
1.2 Linux進程間通信7
1.2.1 信號 8
1.2.2 管道9
1.2.3 共享內存 9
1.2.4 FIFO隊列 9
1.2.5 消息隊列 10
1.2.6 Socket10
1.3 CPU任務調度10
1.3.1 實時進程與普通進程11
1.3.2 實時調度策略11
1.3.3 普通調度策略11
1.3.4 CFS調度算法11
1.3.5 整體任務調度12
1.4 Linux線程13
1.4.1 Pthread簡介14
1.4.2 線程創建16
1.4.3 線程終止18
1.5 線程同步:互斥量20
1.5.1 創建互斥量21
1.5.2 互斥量解鎖22
1.5.3 mutex示例22
1.6 線程同步:條件變量23
1.6.1 創建條件變量23
1.6.2 條件變量等待24
1.6.3 條件變量通知24
1.6.4 條件變量使用示例24
1.7 線程同步:信號量25
1.7.1 初始化未命名信號量26
1.7.2 等待一個信號量26
1.7.3 發布一個信號量26
1.8 小結27
第2章 JVM基礎知識28
2.1 Java、JDK、JRE與JVM28
2.2 Java跨平臺原理29
2.3 JVM系統架構30
2.3.1 類加載子系統30
2.3.2 運行時數據區33
2.3.3 執行引擎35
2.4 JVM與操作系統的線程模型36
2.4.1 操作系統的線程模型36
2.4.2 JVM的線程模型38
2.5 JNI機制39
2.5.1 JNI開發流程40
2.5.2 JNI數據類型轉換41
2.5.3 實現案例43
2.6 小結43
第3章 JVM線程44
3.1 為什么需要多線程44
3.1.1 CPU訪問各組件周期45
3.1.2 多線程的出現45
3.2 多線程帶來的問題46
3.2.1 CPU緩存導致的可見性問題46
3.2.2 線程上下文切換帶來的原子性
問題47
3.2.3 優化帶來的亂序問題48
3.3 Java內存模型與線程規范50
3.3.1 變量共享51
3.3.2 變量共享的內存可見性51
3.3.3 Happens-Before規則52
3.4 內存一致性協議56
3.4.1 CPU緩存讀取策略57
3.4.2 CPU緩存寫入策略58
3.4.3 MESI協議59
3.5 內存屏障61
3.5.1 內存讀寫屏障64
3.5.2 內存屏障的實現64
3.5.3 JVM內存屏障指令實現65
3.6 JVM的線程66
3.7 Java線程創建過程68
3.7.1 線程創建69
3.7.2 線程執行73
3.8 Java線程生命周期75
3.8.1 Java線程生命周期模型75
3.8.2 查看線程的狀態78
3.9 小結79
第4章 JVM線程通信原理80
4.1 ParkEvent原理80
4.1.1 Allocate方法81
4.1.2 Rlease方法81
4.1.3 park方法82
4.1.4 unpark方法83
4.2 Parker實現原理84
4.2.1 park方法84
4.2.2 unpark方法86
4.3 sleep方法實現原理86
4.3.1 JVM_Sleep函數86
4.3.2 sleep函數87
4.4 ObjectMonitor實現原理88
4.4.1 數據結構89
4.4.2 ObjectMonitor的構造函數89
4.4.3 ObjectWaiter源代碼90
4.4.4 TryLock方法91
4.4.5 EnterI方法91
4.4.6 ReenterI方法93
4.4.7 enter方法94
4.4.8 exit方法?95
4.4.9 ExitEpilog方法97
4.5 wait與notify方法實現原理97
4.5.1 設計原理98
4.5.2 wait方法實現原理100
4.5.3 notify方法實現原理102
4.5.4 notifyAll方法實現原理103
4.6 yield方法實現原理103
4.7 join方法實現原理104
4.7.1 JVM_IsThreadAlive105
4.7.2 ensure_join106
4.8 stop方法實現原理107
4.8.1 JVM_StopThread107
4.8.2 HAS_PENDING_EXCEPTION108
4.9 interrupt方法實現原理109
4.10 小結110
第5章 JVM線程同步機制111
5.1 Mark Word 111
5.1.1 Mark Word詳解 112
5.1.2 hashCode驗證113
5.1.3 輕量級鎖的狀態信息114
5.1.4 重量級鎖的狀態信息114
5.2 synchronized設計原理115
5.2.1 synchronized的使用116
5.2.2 synchronized的具體設計118
5.3 synchronized源碼分析120
5.3.1 ACC_SYNCHRONIZED解析
過程120
5.3.2 monitorenter指令解析過程122
5.3.3 monitorexit指令解析過程123
5.3.4 鎖獲取實現過程124
5.3.5 鎖釋放實現過程126
5.4 volatile實現原理128
5.4.1 實現原理概述129
5.4.2 getfield指令實現過程130
5.4.3 putfield指令實現過程131
5.5 volatile偽共享132
5.6 CAS硬件同步原語134
5.6.1 CAS硬件原語134
5.6.2 JVM CAS實現135
5.6.3 ABA問題135
5.7 Unsafe功能介紹136
5.7.1 操作內存136
5.7.2 獲取字段內存偏移量137
5.7.3 普通字段的讀取與賦值138
5.7.4 volatile字段的讀取與賦值138
5.7.5 CAS操作能力139
5.7.6 線程阻塞與喚醒139
5.7.7 內存屏障139
5.8 Unsafe實現原理140
5.8.1 volatile字段讀取140
5.8.2 volatile字段寫入141
5.8.3 CAS操作能力141
5.8.4 線程阻塞與喚醒142
5.9 LockSupport實現原理143
5.9.1 Unsafe初始化143
5.9.2 無阻塞對象方法144
5.9.3 有阻塞對象方法144
5.9.4 線程喚醒146
5.10 小結146
進階篇
第6章 Java鎖實現原理148
6.1 CPU架構148
6.1.1 SMP148
6.1.2 NUMA149
6.1.3 SMP與NUMA比較150
6.2 自旋鎖的誕生150
6.2.1 SPIN ON TEST-AND-SET150
6.2.2 TEST-AND
一本書講透JAVA線程:原理與實踐 作者簡介
儲誠益
科大訊飛高級系統架構師,致力于研究下一代工業互聯網系統架構、人工智能、中小制造企業數字化轉型。擁有十余年的IT領域工作經驗,曾就職于多家知名IT企業并負責技術架構設計和管理工作,積累了豐富的分布式架構、大數據、云計算以及大規模IT系統等的建設、實施、咨詢、管理經驗。
- >
詩經-先民的歌唱
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
伯納黛特,你要去哪(2021新版)
- >
隨園食單
- >
史學評論
- >
自卑與超越
- >
中國人在烏蘇里邊疆區:歷史與人類學概述
- >
羅庸西南聯大授課錄