注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)新一代垃圾回收器ZGC設(shè)計(jì)與實(shí)現(xiàn)

新一代垃圾回收器ZGC設(shè)計(jì)與實(shí)現(xiàn)

新一代垃圾回收器ZGC設(shè)計(jì)與實(shí)現(xiàn)

定 價(jià):¥89.00

作 者: 彭成寒 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): Java核心技術(shù)系列
標(biāo) 簽: 暫缺

ISBN: 9787111633655 出版時(shí)間: 2019-08-01 包裝: 平裝
開本: 16開 頁數(shù): 212 字?jǐn)?shù):  

內(nèi)容簡介

  Java 11版本包含一個(gè)全新的垃圾收集器ZGC,它由Oracle開發(fā),承諾在數(shù)TB的堆上具有非常低的暫停時(shí)間。ZGC是2017年Oracle公司貢獻(xiàn)給OpenJDK社區(qū)的,正式成為OpenJDK的開源項(xiàng)目。ZGC 所針對的是這些在未來普遍存在的大容量內(nèi)存:TB 級別的堆容量,具有很低的停頓時(shí)間(小于 10 毫秒),對整體應(yīng)用性能的影響也很小(對吞吐量的影響低于 15%)。ZGC 所采用的機(jī)制也可以在未來進(jìn)行擴(kuò)展,以支持一些令人興奮的特性,如多層堆(用于熱對象的 DRAM 和用于低頻訪問對象的 NVMe 閃存) 或壓縮堆。 本書詳細(xì)介紹ZGC涉及的基本概念和運(yùn)行原理,以及調(diào)優(yōu)方法。主要內(nèi)容共9章,主要 內(nèi)容有:垃圾回收器概述、ZGC內(nèi)存管理、ZGC線程、ZGC垃圾回收算法的設(shè)計(jì)、ZGC日 志解讀、ZGC參數(shù)和基準(zhǔn)測試、ZGC的編譯調(diào)試、ZGC特性總結(jié)和展望、ZGC的編譯調(diào)試、Shenandoah簡介等。

作者簡介

  彭成寒 高級Java工程師,目前主要從事風(fēng)控系統(tǒng)設(shè)計(jì)、算法建模、大數(shù)據(jù)處理等工作,有超過10年的Java和C++開發(fā)經(jīng)驗(yàn)。

圖書目錄

前言
第1章 垃圾回收器概述 1
1.1 垃圾回收算法 2
1.2 JVM垃圾回收器 2
1.2.1 串行回收 3
1.2.2 并行回收 4
1.2.3 CMS 4
1.2.4 G1 5
1.2.5 ZGC 15
1.2.6 Shenandoah 19
第2章 ZGC內(nèi)存管理 21
2.1 操作系統(tǒng)地址管理 21
2.2 ZGC內(nèi)存管理 22
2.2.1 多視圖映射 25
2.2.2 ZGC多視圖映射 27
2.2.3 頁面設(shè)計(jì) 30
2.2.4 對NUMA的支持 31
2.2.5 ZGC中的物理內(nèi)存管理 32
2.2.6 ZGC中的虛擬內(nèi)存管理 34
2.2.7 ZGC內(nèi)存預(yù)分配 35
2.3 ZGC對象分配管理 36
2.3.1 對象空間分配 39
2.3.2 頁面分配 42
第3章 ZGC線程 48
3.1 線程的基本概念 48
3.2 控制線程 49
3.2.1 時(shí)鐘觸發(fā)器 51
3.2.2 消息觸發(fā) 53
3.2.3 VMThread 56
3.3 工作線程 59
3.4 垃圾回收觸發(fā)的時(shí)機(jī) 62
第4章 ZGC垃圾回收算法的設(shè)計(jì) 67
4.1 并發(fā)垃圾回收算法 67
4.1.1 并發(fā)垃圾回收算法概述 67
4.1.2 ZGC并發(fā)算法的設(shè)計(jì) 68
4.2 并發(fā)處理 70
4.2.1 并發(fā)處理概述 71
4.2.2 ZGC并發(fā)處理算法 73
4.2.3 ZGC并發(fā)處理算法演示 75
第5章 ZGC垃圾回收算法的實(shí)現(xiàn) 78
5.1 垃圾回收的實(shí)現(xiàn) 78
5.1.1 初始標(biāo)記 78
5.1.2 并發(fā)標(biāo)記 88
5.1.3 再標(biāo)記和非強(qiáng)根并行標(biāo)記 94
5.1.4 非強(qiáng)引用并發(fā)標(biāo)記和引用并發(fā)處理 98
5.1.5 重置轉(zhuǎn)移集 105
5.1.6 回收無效的頁面 106
5.1.7 選擇待回收的頁面 106
5.1.8 初始化待轉(zhuǎn)移集合的轉(zhuǎn)移表 108
5.1.9 初始轉(zhuǎn)移 108
5.1.10 并發(fā)轉(zhuǎn)移 110
5.1.11 垃圾回收算法再討論 111
5.2 垃圾回收算法演示 112
第6章 ZGC日志解讀 120
6.1 Xlog簡介 120
6.2 測試用例設(shè)計(jì) 123
6.3 ZGC初始化信息 125
6.4 垃圾回收觸發(fā)信息 127
6.5 垃圾回收過程中每一步的信息 130
6.6 統(tǒng)計(jì)信息 137
6.6.1 垃圾回收器信息 137
6.6.2 競爭信息 137
6.6.3 同步等待信息 139
6.6.4 內(nèi)存信息 140
6.6.5 垃圾回收步驟信息 142
6.6.6 子階段信息 144
6.6.7 線程信息 146
第7章 ZGC參數(shù)和基準(zhǔn)測試 147
7.1 參數(shù)簡介 147
7.1.1 ZGC新引入?yún)?shù) 147
7.1.2 GC通用參數(shù) 149
7.2 測試評估 150
7.2.1 測試準(zhǔn)備 151
7.2.2 測試與測試報(bào)告 154
第8章 ZGC的發(fā)展與展望 160
8.1 類回收 161
8.2 單代回收 164
8.3 新功能和多平臺(tái) 165
第9章 JVM編譯調(diào)試 166
9.1 下載源代碼 166
9.2 代碼概覽 167
9.3 編譯JVM 168
9.4 調(diào)試ZGC 169
9.4.1 啟動(dòng)GDB 170
9.4.2 對象分配 170
9.4.3 觸發(fā)垃圾回收 172
9.4.4 初始標(biāo)記 172
9.4.5 并發(fā)標(biāo)記 173
9.4.6 初始轉(zhuǎn)移 174
9.4.7 并發(fā)轉(zhuǎn)移 176
9.4.8 重定位 176
9.5 使用HSDB學(xué)習(xí)JVM中對象布局 178
9.5.1 C++對象布局原理 178
9.5.2 Java對象布局原理 180
9.5.3 用HSDB分析Java對象布局 180
第10章 Shenandoah簡介 192
10.1 概述 192
10.2 Shenandoah垃圾回收策略 193
10.3 Shenandoah垃圾回收算法 194
10.3.1 正常回收算法 195
10.3.2 遍歷回收算法 197
附錄A Cassandra簡介 200
附錄B YCSB簡介 202

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)