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。