更新时间:2019-04-22 18:15:25
封面
版权信息
前言
第1章 垃圾回收概述
1.1 Java发展概述
1.2 本书常见术语
1.3 回收算法概述
1.3.1 分代管理算法
1.3.2 复制算法
1.3.3 标记清除
1.3.4 标记压缩
1.3.5 算法小结
1.4 JVM垃圾回收器概述
1.4.1 串行回收
1.4.2 并行回收
1.4.3 并发标记回收
1.4.4 垃圾优先回收
第2章 G1的基本概念
2.1 分区
2.2 G1停顿预测模型
2.3 卡表和位图
2.4 对象头
2.5 内存分配和管理
2.6 线程
2.6.1 栈帧
2.6.2 句柄
2.6.3 JVM本地方法栈中的对象
2.6.4 Java本地方法栈中的对象
2.7 日志解读
2.8 参数介绍和调优
第3章 G1的对象分配
3.1 对象分配概述
3.2 快速分配
3.3 慢速分配
3.3.1 大对象分配
3.3.2 最后的分配尝试
3.4 G1垃圾回收的时机
3.4.1 分配时发生回收
3.4.2 外部调用的回收
3.5 参数介绍和调优
第4章 G1的Refine线程
4.1 记忆集
4.2 Refine线程的功能及原理
4.2.1 抽样线程
4.2.2 管理RSet
4.2.3 Mutator处理DCQ
4.2.4 Refine线程的工作原理
4.3 Refinement Zone
4.4 RSet涉及的写屏障
4.5 日志解读
4.6 参数介绍和调优
第5章 新生代回收
5.1 YGC算法概述
5.2 YGC代码分析
5.2.1 并行任务
5.2.2 其他处理
5.3 YGC算法演示
5.3.1 选择CSet
5.3.2 根处理
5.3.3 RSet处理
5.3.4 复制
5.3.5 Redirty
5.3.6 释放空间
5.4 日志解读
5.4.1 YGC日志
5.4.2 大对象日志分析
5.4.3 对象年龄日志分析
5.5 参数介绍和调优
第6章 混合回收
6.1 并发标记算法详解
6.2 并发标记算法的难点
6.2.1 三色标记法
6.2.2 难点示意图
6.2.3 再谈写屏障
6.3 G1中混合回收的步骤
6.4 混合回收中并发标记处理的线程
6.4.1 并发标记线程启动的时机
6.4.2 根扫描子阶段
6.4.3 并发标记子阶段
6.4.4 再标记子阶段
6.4.5 清理子阶段
6.4.6 启动混合收集
6.5 并发标记算法演示
6.5.1 初始标记子阶段
6.5.2 根扫描子阶段
6.5.3 并发标记子阶段
6.5.4 再标记子阶段
6.5.5 清理子阶段
6.6 GC活动图
6.7 日志解读
6.8 参数优化
第7章 Full GC
7.1 Evac失败
7.2 串行FGC
7.2.1 标记活跃对象
7.2.2 计算对象的新地址
7.2.3 更新引用对象的地址
7.2.4 移动对象完成压缩
7.2.5 后处理
7.3 并行FGC