Minor GC与Full GC分别在什么时候发生?

        在Java的垃圾回收(Garbage Collection,GC)中,Minor GC和Full GC是两种不同类型的垃圾回收。

1. Minor GC:

   发生在新生代(Young Generation)空间。新生代通常分为Eden区和两个Survivor区。

   当对象被分配并存活时间较短时,它们会被分配到Eden区。Minor GC会清理Eden区和那些存活下来的对象,并将这些存活对象移动到Survivor区(通常是其中一个)。

   Minor GC的频率比较高,因为大部分对象都是朝生夕死的。在一些情况下,Survivor区中的对象也会被移到老年代(Old Generation)。

2. Full GC:

   发生在整个堆空间,包括新生代和老年代。

   Full GC会收集整个堆空间中的垃圾对象,包括新生代和老年代。

   与Minor GC不同,Full GC涉及更多的工作,因为它需要检查和清理整个堆空间,包括老年代,而不仅仅是新生代。

        通常,Minor GC的发生频率要比Full GC高,因为大多数对象都是在新生代被分配的,并且很快变为不可达。而Full GC通常发生在以下情况下:

        当老年代空间不足时,会触发Full GC来尝试释放内存,并清理整个堆空间。

        由于JVM对垃圾回收机制的自主调整,以及系统负载或应用程序行为的影响,Full GC有时也会在周期性的时间间隔内发生,以确保系统的稳定性和性能。

        Full GC通常比Minor GC耗时更长,因为它需要检查整个堆空间的对象,并进行更为彻底的清理。因此,尽量避免Full GC的频繁发生对于系统的性能是有益的。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郭梓航

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值