深入理解JVM & G1 GC

深入理解JVM & G1 GC

《深入理解JVM & G1 GC》一書作者周明耀,電子工業出版社2017年6月出版

基本介紹

  • 書名:深入理解JVM & G1 GC
  • 作者:周明耀
  • ISBN:978-7-121-31468-1
  • 頁數:248
  • 定價:69.00
  • 出版社:電子工業出版社
  • 出版時間:2017年6月
  • 開本:16
內容提要,目錄,

內容提要

G1 GC提出了不確定性Region,每個空閒Region不是為某個固定年代準備的,它是靈活的,需求驅動的,所以G1 GC代表了先進性。
《深入理解JVM & G1 GC》主要為學習Java語言的學生、初級程式設計師提供GC的使用參考建議及經驗,著重介紹了G1 GC。中國的軟體開發行業已經有幾十年了,從目前的行業發展來看,單純的軟體公司很難有發展,目前流行的雲計算、物聯網企業實際上是綜合性IT技術的整合,這就需要有綜合能力的程式設計師。《深入理解JVM & G1 GC》作者力求做到知識的綜合傳播,而不是僅僅針對Java虛擬機和GC調優進行講解,也力求每一章節都有實際的案例支撐。《深入理解JVM & G1 GC》具體包括以下幾方面:JVM基礎知識、GC基礎知識、G1 GC的深入介紹、G1 GC調優建議、JDK自帶工具使用介紹等。
通讀《深入理解JVM & G1 GC》後,讀者可以深入了解G1 GC性能調優的許多主題及相關的綜合性知識。讀者也可以把《深入理解JVM & G1 GC》作為參考,對於感興趣的主題,直接跳到相應章節尋找答案。

目錄

序 VII
前言 IX
第1章 JVM&GC基礎知識 1
1.1 引言 2
1.2 基本術語 3
1.2.1 Java相關術語 4
1.2.2 JVM/GC通用術語 24
1.2.3 G1涉及術語 56
1.3 本章小結 62
第2章 JVM&GC深入知識 63
2.1 Java虛擬機記憶體模型 64
2.1.1 程式計數器 65
2.1.2 虛擬機棧 66
2.1.3 本地方法棧 72
2.1.4 Java堆 73
2.1.5 方法區 79
2.2 垃圾收集算法 82
2.2.1 引用計數法 82
2.2.2 根搜尋算法 83
2.2.3 標記-清除算法(Mark-Sweep) 85
2.2.4 複製算法(Copying) 87
2.2.5 標記-壓縮算法(Mark-Compact) 89
2.2.6 增量算法(Incremental Collecting) 90
2.2.7 分代收集算法(Generational Collecting) 91
2.3 Garbage Collection 92
2.3.1 GC概念 92
2.3.2 垃圾收集器分類 93
2.3.3 Serial收集器 94
2.3.4 ParNew收集器 96
2.3.5 Parallel收集器 99
2.3.6 CMS收集器 102
2.3.7 Garbage First(G1)GC 106
2.4 常見問題解析 112
2.4.1 jmap -heap或-histo不能用 112
2.4.2 YGC越來越慢 112
2.4.3 Java永久代去哪兒了 114
2.5 本章小結 116
第3章 G1 GC套用示例 117
3.1 範例程式 118
3.2 選項解釋及套用 124
3.3 本章小結 166
第4章 深入G1 GC 167
4.1 G1 GC概念簡述 168
4.1.1 背景知識 168
4.1.2 G1的垃圾回收機制 169
4.1.3 G1的區間設計靈感 169
4.2 G1 GC分代管理 172
4.2.1 年輕代 172
4.2.2 年輕代回收暫停 173
4.2.3 大對象區間 174
4.2.4 混合回收暫停 176
4.2.5 回收集合及其重要性 178
4.2.6 RSet及其重要性 178
4.2.7 並行標記循環 182
4.2.8 評估失敗和完全回收 186
4.3 G1 GC使用場景 186
4.4 G1 GC論文原文翻譯(部分) 187
4.4.1 開題 187
4.4.2 數據結構/機制 188
4.4.3 未來展望 190
4.5 本章小結 191
第5章 G1 GC性能最佳化方案 192
5.1 G1的年輕代回收 193
5.2 年輕代最佳化 203
5.3 並行標記階段最佳化 205
5.4 混合回收階段 207
5.4.1 初步介紹 207
5.4.2 深入介紹 208
5.5 如何避免出現GC失敗 210
5.6 引用處理 211
5.6.1 觀察引用處理 212
5.6.2 引用處理最佳化 213
5.7 本章小結 214
第6章 JVM診斷工具使用介紹 215
6.1 SA基礎介紹 216
6.2 SA工具使用實踐 217
6.2.1 如何啟動SA 217
6.2.2 SA原理及使用介紹 222
6.3 其他工具介紹 231
6.3.1 GCHisto 231
6.3.2 JConsole 232
6.3.3 VisualVM 236
6.4 本章小結 238

相關詞條

熱門詞條

聯絡我們