zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【jvm】Minor GC与Full GC

JVM GC full Minor
2023-09-27 14:29:28 时间

Minor GC与Full GC

  • 新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。

  • 老年代 GC(Major GC / Full GC):指发生在老年代的垃圾收集动作,出现了 Major GC,经常会伴随至少一次 Minor GC(非绝对),MajorGC 的速度一般会比 Minor GC 慢10倍以上。

  • Minor GC与Full GC触发条件:

    • 当Eden区没有足够的空间进行分配时
    • 老年代最大可用连续空间大于Minor GC历次晋升到老年代对象的平均大小
  • Full GC触发条件:

    • 调用System.gc()时(系统建议执行Full GC,但是不必然执行)
    • 老年代空间不足时
    • 方法区空间不足时
    • 老年代最大可用连续空间小于Minor GC历次晋升到老年代对象的平均大小
    • CMS GC在垃圾回收的时候,当对象从Eden区进入Survivor区,Survivor区空间不足需要放入老年代,而老年代空间也不足时