0
点赞
收藏
分享

微信扫一扫

Minor GC ,Full GC 触发条件是什么?

Mhhao 2021-09-21 阅读 75

Minor GC ,Full GC 触发条件

  • 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC;
  • 对老年代GC称为Major GC;
  • 而Full GC是对整个堆来说的;

在最近几个版本的JDK里默认包括了对永生带即方法区的回收(JDK8中无永生带了),出现Full GC的时候经常伴随至少一次的Minor GC,但非绝对的。Major GC的速度一般会比Minor GC慢10倍以上。下边看看有那种情况触发JVM进行Full GC及应对策略。

Minor GC触发条件:
当Eden区满时,触发Minor GC。

Full GC触发条件:

(1)System.gc()方法的调用

(2)老年代空间不足

(3)方法区空间不足

(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存

(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小

举报

相关推荐

0 条评论