一、GC垃圾回收
1.1、总体概览
JVM进行GC时,并非每次都对下面的三个内存区域(新生区、养老区、元空间/永久代)一起回收,大部分回收的是新生区里边的垃圾,因此GC按照回收的区域又分为了两种类型,一种是发生在新生区的普通GC(Minor GC),一种是发生在养老区的全局GC(Major GC或者Full GC)
1.2、Minor GC vs Full GC
1.2.1、Minor GC
Minor GC是发生在新生区的垃圾回收,因为绝大多数的Java对象存活率都不高,所以Minor GC非常频繁,一般回收速度也比较快。
1.2.2、Major GC
Major GC是发生在养老区的垃圾回收,出现了Major GC通常会伴随着至少一次的Minor GC(不是绝对的),Major GC的速度一般要比Minor GC慢10倍以上(因为新生区占1/3、养老区占2/3)。