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详解

相关推荐
Da Da 泓18 小时前
多线程(四)【线程安全问题】
java·开发语言·jvm·学习·安全·多线程·线程安全问题
普通网友18 小时前
更优雅的测试:Pytest框架入门
jvm·数据库·python
li.wz18 小时前
JVM 执行引擎:从“能跑”到“跑得快”
jvm
没有bug.的程序员19 小时前
JVM 安全与沙箱深度解析
java·jvm·安全·gc·gc调优
Ryana19 小时前
协程不是银弹:历时半年,终于搞清了每分钟120次YGC的真相
jvm·后端
CodeAmaz19 小时前
JVM双亲委派模型详解
jvm·双亲委派
小a杰.19 小时前
Flutter 图片内存优化指南(完整版)
jvm·flutter
昊虹AI笔记20 小时前
Pycharm运行时需要JVM怎么办?
jvm·ide·pycharm
大大大大物~2 天前
JVM 之 线上诊断神器Arthas实战【内部原理?常用命令?如何使用Arthas排查cpu飙高、类加载问题、死锁、慢接口等线上问题?】
jvm·oom·arthas