新生代GC(Minor GC):
指发生在新生代的垃圾收集动作,因为Java对象大多都具备朝 生夕灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。
老年代GC(Major GC/Full GC):
指发生在老年代的GC,出现了Major GC,经常会伴 随至少一次的Minor GC(但非绝对的,在Parallel Scavenge收集器的收集策略里就有直接进行 Major GC的策略选择过程)。Major GC的速度一般会比Minor GC慢10倍以上。
Minor GC触发条件:
当年轻代满时就会触发Minor GC,
Full GC触发条件:
- 调用System.gc时,系统建议执行Full GC,但是不必然执行
- 老年代空间不足
- 方法区空间不足
- 通过Minor GC后进入老年代的平均大小大于老年代的可用内存