JVM 触发 Full GC 的几个条件

Full GC的触发条件

(1)直接调用System.gc时(调用后并不会立即发生 FGC,后面会在某个时间点发生),系统建议执行Full GC,但是不必然执行;

(2)老年代的可用空间不足时;

(3)方法区空间不足时

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

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

注:一般 Full GC 会伴随一次 Minor GC。

猜你喜欢

转载自my.oschina.net/Rayn/blog/1808111