Minor GC、Major GC和Full GC之间的区别

堆内存划分为 Eden、Survivor 和 Tenured/Old 空间
堆内存结构

Minor GC 和 Major GC

从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。需要注意的是:

  • 当 JVM 无法为一个新的对象分配空间时会触发 Minor GC,比如当 Eden 区满了。所以分配率越高,越频繁执行 Minor GC。
  • Eden 和 Survivor 区进行了标记和复制操作, Eden 和 Survivor 区不存在内存碎片。
  • 执行 Minor GC 操作时,不会影响到永久代。
  • 所有的 Minor GC 都会导致应用程序的线程的暂停。

Major GC 是清理永久代。需要注意的是许多 Major GC 是由 Minor GC 触发的,所以很多情况下将这两种 GC 分离是不太可能的。

Full GC

Full GC 是清理整个堆空间—包括年轻代和永久代。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值