更新时间:2019-10-11 18:55:29
封面
版权信息
前言
第1章 垃圾回收器概述
1.1 垃圾回收算法
1.2 JVM垃圾回收器
1.2.1 串行回收
1.2.2 并行回收
1.2.3 CMS
1.2.4 G1
1.2.5 ZGC
1.2.6 Shenandoah
第2章 ZGC内存管理
2.1 操作系统地址管理
2.2 ZGC内存管理
2.2.1 多视图映射
2.2.2 ZGC多视图映射
2.2.3 页面设计
2.2.4 对NUMA的支持
2.2.5 ZGC中的物理内存管理
2.2.6 ZGC中的虚拟内存管理
2.2.7 ZGC内存预分配
2.3 ZGC对象分配管理
2.3.1 对象空间分配
2.3.2 页面分配
第3章 ZGC线程
3.1 线程的基本概念
3.2 控制线程
3.2.1 时钟触发器
3.2.2 消息触发
3.2.3 VMThread
3.3 工作线程
3.4 垃圾回收触发的时机
第4章 ZGC垃圾回收算法的设计
4.1 并发垃圾回收算法
4.1.1 并发垃圾回收算法概述
4.1.2 ZGC并发算法的设计
4.2 并发处理
4.2.1 并发处理概述
4.2.2 ZGC并发处理算法
4.2.3 ZGC并发处理算法演示
第5章 ZGC垃圾回收算法的实现
5.1 垃圾回收的实现
5.1.1 初始标记
5.1.2 并发标记
5.1.3 再标记和非强根并行标记
5.1.4 非强引用并发标记和引用并发处理
5.1.5 重置转移集
5.1.6 回收无效的页面
5.1.7 选择待回收的页面
5.1.8 初始化待转移集合的转移表
5.1.9 初始转移
5.1.10 并发转移
5.1.11 垃圾回收算法再讨论
5.2 垃圾回收算法演示
第6章 ZGC日志解读
6.1 Xlog简介
6.2 测试用例设计
6.3 ZGC初始化信息
6.4 垃圾回收触发信息
6.5 垃圾回收过程中每一步的信息
6.6 统计信息
6.6.1 垃圾回收器信息
6.6.2 竞争信息
6.6.3 同步等待信息
6.6.4 内存信息
6.6.5 垃圾回收步骤信息
6.6.6 子阶段信息
6.6.7 线程信息
第7章 ZGC参数和基准测试
7.1 参数简介
7.1.1 ZGC新引入参数
7.1.2 GC通用参数
7.2 测试评估
7.2.1 测试准备
7.2.2 测试与测试报告
第8章 ZGC的发展与展望
8.1 类回收
8.2 单代回收
8.3 新功能和多平台
第9章 JVM编译调试
9.1 下载源代码
9.2 代码概览
9.3 编译JVM
9.4 调试ZGC
9.4.1 启动GDB
9.4.2 对象分配
9.4.3 触发垃圾回收
9.4.4 初始标记
9.4.5 并发标记
9.4.6 初始转移
9.4.7 并发转移
9.4.8 重定位
9.5 使用HSDB学习JVM中对象布局
9.5.1 C++对象布局原理
9.5.2 Java对象布局原理
9.5.3 用HSDB分析Java对象布局
第10章 Shenandoah简介
10.1 概述
10.2 Shenandoah垃圾回收策略