第1章 Garbage First综述 1
术语 1
并行垃圾收集器 2
串行垃圾收集器 4
并发标记清除(CMS)垃圾收集器 5
收集器的概括总结 7
Garbage First(G1)垃圾收集器 8
G1设计 10
巨型(Humongous)对象 12
Full垃圾收集 12
并发周期 13
堆空间调整 13
引用 14
第2章 深入Garbage First垃圾收集器 15
背景 15
G1中的垃圾收集 16
年轻代 17
年轻代收集暂停 18
对象老化与老年代 19
巨型分区 19
混合收集 22
收集集合及其重要性 24
已记忆集合及其重要性 24
并发优化线程以及栅栏 28
G1 GC的并发标记 30
并发标记阶段 34
初始标记 34
根分区扫描 34
并发标记 34
重新标记 36
清除 36
转移失败与Full收集 37
引用 38
第3章 Garbage First垃圾收集器性能优化 39
年轻代收集的各阶段 39
所有并行活动的开始 41
外部根分区 42
已记忆集合和已处理缓冲区 42
已记忆集合总结 44
转移和回收 47
终止 47
GC外部的并行活动 48
所有并行活动总结 48
所有串行活动的启动 48
其他串行活动 49
年轻代调优 50
并发标记阶段调优 52
混合垃圾收集阶段回顾 54
混合垃圾收集阶段调优 56
避免转移失败 59
引用处理 60
观察引用处理 60
引用处理调优 62
引用 65
第4章 The Serviceability Agent 67
SA是什么 67
为什么要用SA 68
SA组件 68
JDK中的SA二进制文件 69
SA的JDK版本说明 69
SA如何获得Hotspot虚拟机的内部数据结构 70
SA版本对照 71
SA调试工具 72
HSDB 72
HSDB工具 80
命令行Hotspot调试器CLHSDB 100
其他工具 103
CoreDump和崩溃Dump文件 109
调试非本地生成的Core文件 109
SA的共享库问题 110
消除共享库问题 110
SA的系统属性 111
SA的环境变量 113
JDI实现 114
扩展SA工具 115
VisualVM的SA插件 118
VisualVM中怎样安装SA插件 119
SA插件使用 119
SA插件功能 120
用SA做故障分析 124
内存溢出错误分析 124
诊断语言层死锁 132
事后分析Hotspot虚拟机崩溃 137
附录 虚拟机命令行附加参数探秘 145
索引 155