Minor GC ,Full GC 触发条件

本文详细解析了Java中MinorGC与FullGC的触发条件,包括Eden区满时的MinorGC过程,以及多种FullGC触发场景,如老年代空间不足、方法区空间不足等。同时介绍了不同类型的垃圾回收策略,如复制算法、标记-清除和标记-整理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Minor GC触发条件:

当Eden区满时,触发Minor GC。

Full GC触发条件:

(1)调用System.gc时,系统建议执行Full GC,但是不必然执行

(2)老年代空间不足

(3)方法去空间不足

(4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存

(5)由Eden区、From Space区向To Space区复制时,对象大小大于To Space可用内存,则把该对象转存到老年代,且老年代的可用内存小于该对象大小、

Minor GC是Eden的空间不足时,会产生一次垃圾回收。 将Eden的对象通过复制算法,copy到survivor区域,当survivor区域已经装满时,剩下的对象会直接复制到老年区。并且Eden区将会全部清理。

Full GC 是老年代空间不足时,会产生一次Full GC,首先垃圾回收器先根据GC ROOT利用可达性进行对象的标记,在通过不同的垃圾回收器的算法(标记-清除,标记-整理)进行垃圾回收。 CMS利用的是标记-清除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值