1、部分收集:不是完整收集整个 Java 堆的垃圾收集。其中又分为: 新生代收集(Minor GC/Young GC):只是新生代的垃圾收集 老年代收集(Major GC/Old GC):只是老年代的垃圾收集 目前,只有 CMS GC 会有单独收集老年代的行为很多时候 Major GC 会和 Full GC 混合使用,需要具体分辨是老年代回收还是整堆回收 ...
Full GC可以理解为Major GC+Minor GC组合后进行的一整个过程,是清理JVM整个堆空间(年轻代和老年代空间)。 Full GC触发条件 调用System.gc()方法时,可通过-XX:+ DisableExplicitGC 参数来禁止调用System.gc() 当方法区空间不足时 Minor GC后存活的对象大小超过了老年代剩余空间 Minor GC时中Survivor幸存区空间不足...
在Java 虚拟机 (JVM) 中,垃圾回收 (Garbage Collection, GC) 是一个自动管理内存的重要机制,它负责回收不再使用的对象所占用的内存。在 JVM 的不同代(Generation)中,垃圾回收有不同的类型,主要包括 Minor GC、Major GC 和 Full GC。 Minor GC (Young Generation GC) 作用区域:Minor GC 主要在 JVM 的年轻...
Major GC是针对老年代的垃圾回收,在年轻代存活对象晋升老年代时,如果发现老年代没有足够的空间容纳,就会触发一次Minor GC,如果之后空间仍不足,就会进行Major GC,所以Major GC之前常常会有一次Minor GC(并非绝对,Parallel Scavenge收集器有单独回收老年代的策略而不进行Minor GC)。 Major GC回收时,其他暂停时间更长,...
新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具 备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快。 老年代 GC(Major GC / Full GC):指发生在老年代的 GC,出现了 Major GC,经常 会伴随至少一次的 Minor GC(但非绝对的,在 ParallelScavenge 收集器的收集策略里...
Java中的GC就是对内存的GC。 Java的内存管理实际上就是对象的管理,其中包括对象的分配和释放。 Java对象的分配,程序员可以通过new关键字,Class的new-Instance方法等来显示的分配;而对象的释放,程序员不能实时的进行释放,这就需要GC来完成。 JVM GC的种类 JVM常见的GC包括三种:Minor GC,Major GC与Full GC 针对Ho...
目录 收起 Minor GC Major GC 分代GC Full GC Minor GC JVM堆内存被分为两部分:年轻代(Young Generation)和老年代(Old Generation)。 1.年轻代 年轻代是所有新对象产生的地方,当年轻代内存空间被用完时,就会触发垃圾回收,这个垃圾回收叫做Minor GC。 年轻代被分为3个部分——Enden区和两个Survivor区,年...
GC的全称是garbage collection,中文名称垃圾回收,那么MinorGC、MajorGC、FullGC对应的就是新生代垃圾回收、老年代垃圾回收、全部回收。 MajorGC一般认为就是FullGC,即整体回收heap堆,但是由于HotSpot VM发展,对这两个概念已经混乱了,所以,当有人问的时候就问清楚是FullGC还是老年代GC,这里将MajorGC认为是老年代GC。
Minor GC:新生代GC,指发生在新生代的垃圾收集动作,所有的Minor GC都会触发全世界的暂停(stop-the-world),停止应用程序的线程,不过这个过程非常短暂。 Major GC/Full GC:老年代GC,指发生在老年代的GC。 JVM:Java Virtual Machine(Java虚拟机)的缩写。