JVM(HotSpot):GC之垃圾回收器的分类

文章目录

前言

上一篇,我们学习了分代回收机制

它的主要内容是对JVM内存的一个划分,以及垃圾回收器工作时,区域运作顺序的一个规定。

所以,它是一个规范。

这一篇,来学习具体的垃圾回收器的类别。

一、串行

特点:单线程,堆内存较小,适合个人电脑

相关实现:Serial GC(年轻代)+ Serial Old GC(老年代)

二、吞吐量优先

特点:多线程,堆内存较大,多核 cpu

说明:就是单次回收的垃圾对象较多。

相关实现:Parallel GC (年轻代)+ Parallel Old GC(老年代)

三、响应时间优先

特点:多线程,堆内存较大,多核 cpu

说明:单次回收所耗费的时间较少,这样,stw时间就短,用户线程就可以继续工作。

相关实现:CMS GC(老年代)+ ParNew GC(年轻代)

四、常见垃圾回收器使用组合

最终被G1取代。

还有一种ZGC
这两种垃圾回收器,对JVM内存空间的划分又了新的规划。但是,依然保留了分代回收的基本思想。

参考:
1、各种Java垃圾回收器详细介绍
2、ZGC详解

相关推荐
Drifter_yh10 小时前
「JVM」 深入剖析 JVM 内存结构:从底层原理到线上排查
java·jvm
何中应12 小时前
使用jvisualvm提示“内存不足”
java·jvm·后端
何中应12 小时前
如何手动生成一个JVM内存溢出文件
java·jvm·后端
消失的旧时光-194312 小时前
C++ 多线程与并发系统取向(五)—— std::atomic:原子操作与状态一致性(类比 Java Atomic)
开发语言·jvm·c++·并发
Drifter_yh19 小时前
「JVM」 深入理解 StringTable:从底层编译优化到 intern 核心解密
java·jvm
Drifter_yh19 小时前
「JVM」 从字节码看多态原理与语法糖本质
jvm
Drifter_yh19 小时前
「JVM」 Java 类加载机制与双亲委派模型深度解析
java·开发语言·jvm
Drifter_yh20 小时前
「JVM」Java 垃圾回收机制全解析:回收算法、分代流转与 G1 收集器底层拆解
java·jvm·算法
wuqingshun31415921 小时前
简述双亲委派机制以及其优点
java·开发语言·jvm