一、评估GC的性能指标

1.吞吐量

2.暂停时间

3.二者对比


二、垃圾回收器发展史

1.7款经典垃圾回收器

三、垃圾回收器与垃圾分代的关系
1.与垃圾分代的关系

2.垃圾回收器的组合关系


3.如何查看默认垃圾回收器

四、Serial回收器(串行回收)



五、ParNew回收器(并行回收)



六、Parallel回收器(吞吐量优先、jdk8默认)






七、CMS回收器(低延迟)
1.CMS介绍


2.CMS工作原理



3.CMS的特点与弊端分析


4.CMS参数设置


5.JDK后续版本CMS的变化

八、G1回收器(区域化分代式)
1.G1为什么出现?

2.为什么叫G1?

3.G1的介绍

4.G1的特点




5.G1的缺点

6.G1的参数设置

7.G1的操作步骤

8.G1的适用场景

9.region的使用介绍(化整为零)

Humongous存储大对象:当一个对象超过了1.5个region,就存储在Humongous中。

10.G1垃圾回收的过程



11.记忆集(remembered set)
12.G1回收过程1:年轻代GC(YGC)
dirty card queue:
![]()


13.G1回收过程2:并发标记过程

14. G1回收过程3:混合回收


15.G1回收(可选)过程四:Full GC

16.G1回收器的优化建议

九、垃圾回收器总结
1.如何选择垃圾回收器呢?

2.GC的日志参数


3.Shenandoah GC(JDK 12)


4.ZGC

本文详细探讨了Java垃圾收集器的性能指标,如吞吐量和暂停时间,并介绍了从Serial到G1的各种经典垃圾回收器。重点关注CMS和G1,分析其工作原理、特点及优化建议。同时,讨论了如何根据应用场景选择合适的垃圾回收器,并给出了GC日志参数和新出现的ShenandoahGC、ZGC。


1013

被折叠的 条评论
为什么被折叠?



