Minor GC/Young GC, Major GC/Old GC, MixedGC, Full GC

文章详细介绍了Java虚拟机中的四种主要垃圾回收类型:MinorGC针对新生代,MajorGC关注老年代,MixedGC同时处理新生代和老年代,而FullGC是对整个Java堆进行的全面回收。每种GC都有其特定的触发条件和回收策略,对系统性能有不同的影响。
摘要由CSDN通过智能技术生成

GC(Garbage Collection)

GC是指在编程语言中,自动回收不再被程序使用的内存空间的过程。在Java虚拟机(JVM)中,GC主要负责管理Java堆内存,Java堆是存储对象实例的内存区域。

GC的主要类型

Minor GC / Young GC

  • 定义:Minor GC是指针对新生代(Young Generation)的垃圾回收过程。
  • 运行条件:当新生代内存空间不足时,触发Minor GC。
  • 回收对象:在新生代中,通常有伊甸区(Eden Space)和两个幸存者区(Survivor Space)。Minor GC主要回收伊甸区和幸存者区中的垃圾对象,并将存活的对象复制到幸存者区。
  • 特点:Minor GC通常是比较频繁的、速度较快的垃圾回收过程。

Major GC / Old GC

  • 定义:Major GC是指针对老年代(Old Generation)的垃圾回收过程。
  • 运行条件:当老年代内存空间不足时,触发Major GC。
  • 回收对象: Major GC主要回收老年代中的垃圾对象。
  • 特点:Major GC相对于Minor GC来说,它的执行频率较低,因为老年代中的对象生命周期较长,不容易产生大量垃圾。

Mixed GC

  • 定义:Mixed GC是一种同时处理新生代和老年代的垃圾回收过程。
  • 运行条件:当新生代和老年代都触发垃圾回收时,为了提高效率,JVM可能会选择执行Mixed GC。
  • 回收对象:Mixed GC同时回收新生代和老年代中的垃圾对象。
  • 特点:Mixed GC的目的是优化GC的性能,减少垃圾回收的间隔时间。

Full GC

  • 定义:Full GC是指对整个Java堆进行垃圾回收的过程。
  • 运行条件:当整个Java堆内存空间不足时,触发Full GC。也有时候,某些情况下,Minor GC和Major GC都无法回收足够的内存时,会触发Full GC。
  • 回收对象:Full GC会同时回收新生代和老年代中的垃圾对象,以及永久代(在Java 8及之前版本有,Java 8以后被元空间取代)中的无用类和常量等。
  • 特点:Full GC是最耗时的垃圾回收过程,因为它需要扫描整个堆内存。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值