JVM之GC(jvm之二)

对象从新生代区域消失的过程,我们称之为 "minor GC"

对象从老年代区域消失的过程,我们称之为 "major GC"

Minor GC
清理整个 YouGen 的过程, eden 的清理, S0\S1 的清理都会由于 MinorGC Allocation Failure(YoungGen 区内存不足),而触发minorGC
Major GC
OldGen 区内存不足,触发 Major GC
Full GC
Full GC 是清理整个堆空间 包括年轻代和永久代
Full GC 触发的场景
1 System.gc
2 promotion failed ( 年代晋升失败 , 比如 eden 区的存活对象晋升到 S 区放不下,又尝试直接晋 升到 Old 区又放不下,那么Promotion Failed, 会触发 FullGC)
3 CMS Concurrent-Mode-Failure 由于 CMS 回收过程中主要分为四步 :
         1⃣️CMS initial mark
         2⃣️CMS Concurrent mark
         3⃣️CMS remark
         4⃣️CMS Concurrent sweep 。在 2 gc 线程与用户线程同时执行,那么用户线程依旧可 能同时产生垃圾, 如果这个垃圾较多无法放入预留的空间就会产生CMS-Mode-Failure , 切换 为 SerialOld 单线程做 marksweep-compact。
4 )新生代晋升的平均大小大于老年代的剩余空间 (为了避免新生代晋升到老年代失败) 当使用
G1,CMS 时, FullGC 发生的时候 是 Serial+SerialOld 。 当使用 ParalOld 时, FullGC 发生的时候是
ParallNew +ParallOld.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值