JVM 在進(jìn)行 GC 時(shí),并非每次都對(duì)堆內(nèi)存(新生代、老年代;方法區(qū))區(qū)域一起回收的,大部分時(shí)候回收的都是指新生代。
針對(duì) HotSpot VM 的實(shí)現(xiàn),它里面的 GC 按照回收區(qū)域又分為兩大類:部分收集(Partial GC),整堆收集(Full GC)
1、部分收集:不是完整收集整個(gè) Java 堆的垃圾收集。其中又分為:
新生代收集(Minor GC/Young GC):只是新生代的垃圾收集
老年代收集(Major GC/Old GC):只是老年代的垃圾收集
目前,只有 CMS GC 會(huì)有單獨(dú)收集老年代的行為很多時(shí)候 Major GC 會(huì)和 Full GC 混合使用,需要具體分辨是老年代回收還是整堆回收
混合收集(Mixed GC):收集整個(gè)新生代以及部分老年代的垃圾收集
目前只有 G1 GC 會(huì)有這種行為
2、整堆收集(Full GC):收集整個(gè) Java 堆和方法區(qū)的垃圾