Minor GC(Young GC)和Full GC(Major GC)是Java虚拟机进行垃圾回收的两个阶段,它们有以下不同之处:

  1. 范围:Minor GC只回收新生代(Young Generation),而Full GC则回收整个堆,包括新生代和老年代(Old Generation)。

  2. 执行频率:Minor GC的执行频率比Full GC高,因为新生代的对象生命周期较短,容易产生垃圾,需要频繁进行回收。而Full GC由于涉及整个堆的回收,执行频率较低。

  3. 停顿时间:Minor GC通常会伴随着短暂的停顿时间,因为只清理新生代,并且大部分对象都会被回收。而Full GC需要对整个堆进行回收,停顿时间较长,可能会导致较大的应用程序暂停。

  4. 效果:Minor GC主要回收新生代中的垃圾对象,将存活的对象复制到老年代或者晋升到老年代的阈值。Full GC则是对整个堆进行回收,包括新生代和老年代,目的是清理所有的垃圾对象。

总结来说,Minor GC是对新生代进行回收,执行频率高但停顿时间短;Full GC是对整个堆进行回收,执行频率低但停顿时间长。

Minor Gc 和 Full GC 有什么不同呢?

原文地址: https://www.cveoy.top/t/topic/h7xZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录