JVM认识之垃圾收集器

一、定义

垃圾收集器是JVM提供的自动管理内存分配和回收的机制。

二、常见的垃圾收集器

1、年轻代垃圾收集器

(1)Serial

(2)ParNew

(3)Parallel Scavenge(JDK8及之前默认的年轻代垃圾收集器)

2、老年代垃圾收集器

(1)CMS

 A、定义

CMS是一款并发的老年代垃圾收集器。CMS采用的垃圾收集算法是标记-清除

B、垃圾收集过程

垃圾收集过程主要有4个阶段,分别是:初始标记、并发标记、重新标记、并发清理。其中,初始标记和重新标记需要STW(暂停程序),剩下的2个阶段可以与应用线程交替执行。

  • 初始标记:(单线程,需要STW)标记和GC Roots直接关联的对象;
  • 并发标记:(单线程)进行GC Roots Tracing的过程,和用户线程同时运行;
  • 重新标记:(多线程,需要STW)修正由于并发标记期间用户程序继续运行导致部分对象的标记产生变动的那一部分对象的标记记录(该过程只对并发标记阶段改动过的对象做标记)。
  • 并发清除:(单线程)和用户线程同时运行,清理掉标记阶段标记的垃圾对象;

(2)Serial Old(JDK8之前默认的老年代垃圾收集器)

(3)Parallel Old(JDK8默认的老年代垃圾收集器)

3、堆垃圾收集器

(1)G1(JDK9及之后默认的垃圾收集器)

 

(2)为什么引入G1

【【全360集】强推!2024最细Java面试八股文全套教程,Java面试水平猛涨!!别再走弯路了,逼自己一周学完,从0基础小白到java面试大神只要这套就够了!】 https://www.bilibili.com/video/BV19i421Q7er/?p=24&share_source=copy_web&vd_source=8933594f62a26ba490437ea3b533d038

三、问题

1、Parallel Old和CMS的区别

四、垃圾收集器选型

【【全360集】强推!2024最细Java面试八股文全套教程,Java面试水平猛涨!!别再走弯路了,逼自己一周学完,从0基础小白到java面试大神只要这套就够了!】 https://www.bilibili.com/video/BV19i421Q7er/?p=25&share_source=copy_web&vd_source=8933594f62a26ba490437ea3b533d038

参考地址:

垃圾收集器ParNew和CMS与底层三色标记详解_cms与parold的区别-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值