新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java 对象大多都具
备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快
老年代 GC(Major GC / Full GC):指发生在老年代的 GC,MajorGC 的速度一般会比 Minor GC 慢 10倍以上 ,但是MinorGC 长久不能回收,会向Majorb GC 转变。
虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象经过第一次 Minor GC 后仍然存活,并且能被 Survivor 容纳的话,将被移动到 Survivor 空间中,并将对象年龄设为 1。对象在 Survivor 区中每熬过一次 Minor GC,年龄就增加 1 岁,当它的年龄增加到一定程度(默认为 15 岁)时,就会被晋升到老年代中。
对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold 来设置
备朝生夕灭的特性,所以 Minor GC 非常频繁,一般回收速度也比较快
老年代 GC(Major GC / Full GC):指发生在老年代的 GC,MajorGC 的速度一般会比 Minor GC 慢 10倍以上 ,但是MinorGC 长久不能回收,会向Majorb GC 转变。
虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象经过第一次 Minor GC 后仍然存活,并且能被 Survivor 容纳的话,将被移动到 Survivor 空间中,并将对象年龄设为 1。对象在 Survivor 区中每熬过一次 Minor GC,年龄就增加 1 岁,当它的年龄增加到一定程度(默认为 15 岁)时,就会被晋升到老年代中。
对象晋升老年代的年龄阈值,可以通过参数 -XX:MaxTenuringThreshold 来设置