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

相关推荐
漫漫求3 小时前
Java内存模型【JMM】、JVM内存模型
java·开发语言·jvm
dddaidai1235 小时前
深入JVM(三):JVM执行引擎
java·jvm
小羊学伽瓦7 小时前
ThreadLocal
java·jvm·算法
脸大是真的好~7 小时前
JVM面试题相关-中级
jvm
利刃大大8 小时前
【JavaSE】十九、JVM运行流程 && 类加载Class Loading
java·开发语言·jvm
福尔摩斯张9 小时前
Linux Kernel 设计思路与原理详解:从“一切皆文件“到模块化架构(超详细)
java·linux·运维·开发语言·jvm·c++·架构
deng-c-f9 小时前
Linux C/C++ 学习日记(51):内存池
jvm·学习
没有bug.的程序员9 小时前
SOA、微服务、分布式系统的区别与联系
java·jvm·微服务·架构·wpf·日志·gc
董世昌4110 小时前
break和continue的区别是什么?
java·jvm·算法
没有bug.的程序员11 小时前
微服务的本质:不是拆服务,而是拆复杂度
java·jvm·spring·微服务·云原生·容器·架构