文章目录
前言
上一篇,我们学习了分代回收机制
它的主要内容是对JVM
内存的一个划分,以及垃圾回收器工作时,区域运作顺序的一个规定。
所以,它是一个规范。
这一篇,来学习具体的垃圾回收器的类别。
一、串行
特点:单线程,堆内存较小,适合个人电脑
相关实现:Serial GC
(年轻代)+ Serial Old GC
(老年代)
二、吞吐量优先
特点:多线程,堆内存较大,多核 cpu
说明:就是单次回收的垃圾对象较多。
相关实现:Parallel GC
(年轻代)+ Parallel Old GC
(老年代)
三、响应时间优先
特点:多线程,堆内存较大,多核 cpu
说明:单次回收所耗费的时间较少,这样,stw时间就短,用户线程就可以继续工作。
相关实现:CMS GC
(老年代)+ ParNew GC
(年轻代)
四、常见垃圾回收器使用组合
最终被G1
取代。
还有一种ZGC
。
这两种垃圾回收器,对JVM内存空间的划分又了新的规划。但是,依然保留了分代回收的基本思想。