jvm垃圾收集器

本文介绍了JVM的几种垃圾收集器,包括Serial、Serial Old、ParNew、Parallel Scavenge、Parallel Old、CMS和G1。各收集器的特点、适用场景及工作原理进行了详细阐述,如Stop the World事件、标记-整理算法、复制算法等,并讨论了CMS的浮动垃圾问题和G1的预测停顿时间机制。
摘要由CSDN通过智能技术生成

serial收集器,串行运作,作用于新生代,使用复制算法,会stop the world,有较长的停顿时间。适用于单cpu且对停顿时间无要求的场景。

serial old收集器,serial收集器的年老代版本。

ParNew收集器,并行运作,作用于新生代,使用复制算法,会stop the world。适用于多cpu的场景。

Parallel scavenge收集器,并行运作,作用于新生代,使用复制算法,会stop the world,能够通过参数开启自适应调整策略,结合虚拟机的当前运行情况调整参数以获取最大的吞吐量。适用于计算量大,且交互少的场景。

Parallel Old收集器,Parallel scavenge收集器的年老代版本,不同之处是作用于年老代,使用标记-整理算法。

CMS(concurrent mark sweep)收集器,jdk14时被删除了,特点最少停顿时间优先。
收集步骤
1.初始标记:标记GCRoots直接关联的对象,stop the world,时间短
2. 并发标记:与用户线程并发进行可达性分析标记可达对象。期间用户线程可能会导致引用发生变化
3. 重新标记:标记并发阶段引用关系发生变化的对象
4. 并发清除:与用户线程并发运行,回收不可达对象
优点:滴停顿
缺点

  • 对cpu敏感。并发标记、并发清除会占用一部分cpu资源。若cpu核数不多,用户程序将响应缓慢
  • 浮动垃圾。两个并发阶段产生的垃圾多于老年代剩余空间将发生concurrent mode failure。解决增大预留空间。<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值