本文来源于知乎RednaxelaFX的回答
Partial GC
不是针对整个堆的回收
Young GC
只收集新生代的GC
Old GC
只收集老年代的GC,CMS就是这个模式
MixedGC
G1垃圾回收器的收集方式,收集整个新生代以及部分老年代的GC(根据用户设定的时间,选择收益高的进行回收,收益:回收后可得到的空间以及收集的期望时间)
Full GC
收集整个堆,针对整个堆
触发Minor GC
新创建的对象无法在eden区放下,出发Minor GC。将清理掉无用对象,存活对象移动到Survivor的其中一个区(from or to),每复制一次,对象的年龄加1,达到默认值15时会移动到老年区
Survivor区无法放下eden区过来的对象,分配担保机制确保移动过来的对象移动到老年代,还有一个动态年龄判断,也会将对象移动到老年区(1+……+N > 50%),年龄大于N的移动到老年区。
Major GC和Full GC是有区别的,Major GC只是清理老年代。
Parallel Scavenage在出发Full GC时,回先做一个Young GC,再执行真正的Full GC