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

相关推荐
爱学习的阿磊9 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
m0_736919109 小时前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
2301_7657031410 小时前
开发一个简单的Python计算器
jvm·数据库·python
weisian15111 小时前
JVM--4-深入JVM堆内存:对象的诞生、成长与归宿
jvm·堆内存·老年代·新生代·内存问题排查
naruto_lnq11 小时前
Python生成器(Generator)与Yield关键字:惰性求值之美
jvm·数据库·python
爱学习的阿磊11 小时前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
m0_5613596712 小时前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_7903009612 小时前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
m0_7482331712 小时前
C#与C语言:5大核心语法共性
java·jvm·算法