JVM调优学习之旅-(2)ParNew+CMS

本文深入探讨了JVM的ParNew垃圾回收器和CMS老年代回收器的工作原理。详细解释了ParNew何时触发Minor GC,Minor GC与Full GC之间的转换条件,以及CMS的四个阶段,包括浮动垃圾问题和内存碎片整理。通过理解这些机制,可以更好地进行JVM调优,避免频繁的Full GC,减少系统性能影响。
摘要由CSDN通过智能技术生成

ParNew

Serial 与 Serial  old  单线程的就先不分析学习了
到底什么时候会尝试触发Minor GC

一般年轻代内部内存比例是8:1:1

当Eden区满了会触发minor gc把活下来的对象放入剩余的s区中。

触发Minor GC之前会如何检查老年代大小,涉及哪几个步骤和条件
  1. 判断老年代剩余空间是否大于新生代所有对象内存空间。
  2. 如果HandlePromotionFailure 这个参数设置后会进入下一步判断,老年代剩余大小是否大于之前minor gc进入老年代的平均大小(担保)
  3. 如果上面判断失败了或者这个参数没设置,会直接进入full gc
  4. 如果参数设置了,条件成立后,会冒险尝试minor gc ,如果年轻代放得下就放年轻代,不然就放老年代,如果都放不下 就会执行full gc ,这次full gc 会连带新生代一起进行垃圾回收,如果还不行就OOM了。

什么时候在Minor GC之前就会提前触发一次Full GC?

当老年代剩余大小小于年轻代大小,并且没有设置HandlePromotionFailure时会触发full gc,如果设置了,老年代剩余大小小于年轻代以往GC大小。

Full GC的算法是什么

标记后清理 然后整理 内存块。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值