Minor GC触发条件:
当Eden区满时,触发Minor GC。
Full GC触发条件:
(1)调用System.gc时,系统建议执行Full GC,但是不必然执行
(2)老年代空间不足
(3)方法去空间不足
(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存
(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小、
Minor GC是Eden的空间不足时,会产生一次垃圾回收。 将Eden的对象通过复制算法,copy到survivor区域,当survivor区域已经装满时,剩下的对象会直接复制到老年区。并且Eden区将会全部清理。
Full GC 是老年代空间不足时,会产生一次Full GC,首先垃圾回收器先根据GC ROOT利用可达性进行对象的标记,在通过不同的垃圾回收器的算法(标记-清除,标记-整理)进行垃圾回收。 CMS利用的是标记-清除。