1、Minor GC
触发位置:年青代的eden区
触发条件:eden区内存满时,触发Minor GC,清理年轻代内存。
触发频率:高
回收效率:一般回收效率在70%-95%,回收效率高。
2、full GC
触发位置:老年代
触发条件:
①老年代内存不够,进行full GC回收;
②持久代(方法区)内存不够,进行full GC回收;
③调用System.gc()时,建议系统进行full GC,但不是立即执行;
④eden区Minor GC复制到老年代的对象大小大于老年代可用空间大小,进行full GC释放空间;
⑤年青代复制对象较大,survivor区空间不足,同时老年代可用空间也不足,会进行full GC释放空间;
触发频率:低
回收效率:回收效率低。