JVM G1源码分析和调优 - (EPUB全文下载)
文件大小:0.53 mb。
文件格式:epub 格式。
书籍内容:
JVM G1源码分析和调优
第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.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
7.3.1 并行标记活跃对象
7.3.2 计算对象的新地址
7.3.3 更新引用对象的地址
7.3.4 移动对象完成压缩
7.3.5 后处理
7.4 日志解读
7.5 参数介绍和调优
第8章 G1中的引用处理
8.1 引用概述
8.2 可回收对象发现
8.3 在GC时的处理发现列表
8.4 重新激活可达的引用
8.5 日志解读
8.6 参数介绍和调优
第9章 G1的新特性:字符串去重
9.1 字符串去重概述
9.2 日志解读
9.3 参数介绍和调优
9.4 字符串去重和String.intern的区别
9.5 String.intern中的实现
第10章 线程中的安全点
10.1 安全点的基本概念
10.2 G1并发线程进入安全点
10.3 解释线程进入安全点
10.4 编译线程进入安全点
10.5 正在执行本地代码的线程进入安全点
10.6 安全点小结
10.7 日志分析
10.8 参数介绍和调优
第11章 垃圾回收器的选择
11.1 如何衡量垃圾回收器
11.2 G1调优的方向
第12章 新一代垃圾回收器
12.1 Shenandoah
12.2 ZGC
附录A 编译调试JVM
附录B 本地内存跟踪
附录C 阅读JVM需要了解的C++知识
第1章 垃圾回收概述
Java的发展已经超过了20年,已是最流行的编程语言。为了更好地了解和使用Java,越来越多的开发人员开始关注Java虚拟机(JVM)的实现技术,其中垃圾回收(也称垃圾收集)是最热门的技术点之一。目前G1作为JVM中最新、最成熟的垃圾回收器受到很多的人关注,本书从G1的原理出发,介绍新生代收集、混合收集、Full GC、并发标记、Refine、Evacuation等内容。本章先回顾Java语言的发展历程,然后介绍JVM中一些常用的概念以便与读者统一术语,随后介绍垃圾回收的主要算法以及JVM中实现了哪些垃圾回收的算法。
1.1 Java发展概述
Java平台和语言最开始是SUN公司在1990年12月进行的一个内部研究项目,我们通常所说的Java一般泛指JDK(Java Developer Kit),它既包含了Java语言和开发工具,也包含了执行Java的虚拟机(Java Virtual Machine,JVM)。从1996年1月23日开始,JDK 1.0版本正式发布,到如今Java已经经历了23个春秋。以下是Java发展历程中值得纪念的几个时间点:
·1998年12月4日JDK迎来了一个里程碑版本1.2。其技术体系被分为三个方向,J2SE、J2EE、J2ME。代表技术包括EJB、Java Plug-in、Swing;虚拟机第一次内置了JIT编译器;语言上引入了Collections集合类等。
·2000年5月8日,JDK1.3发布。在该版本中Hotspot正式成为默认的虚拟机,Hotspot是1997年SUN公司收购LongView Technologies公司而获得的。
·2002年2月13日,JDK1.4发布。该版本是Java走向成熟的一个版本。从此之后,每一个新的版本都会增加新 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » JVM G1源码分析和调优 - (EPUB全文下载)