JVM基础 -> GC分代: MinorGC MajorGC FullGC Mixed GC

16 篇文章 3 订阅

GC分代: MinorGC MajorGC FullGC Mixed GC

  • MinorGC 也叫新生代GC:发生在新生代的垃圾回收,因为新生代的特点,MinorGC非常频繁,且回收速度比较快,每次回收的量也很大。

    • 注意: 新生代GC是一个形容词
      • 例如,你要打扫一下卧室垃圾,卧室GC是一个形容词,利用什么打扫,用什么方式是另一个问题
    • 新生代GC完成GC,用指定好的垃圾回收器,垃圾回收器会有自己的回收算法
    • 当然,MinorGC的垃圾回收器一定是用复制算法,他没有别的算法的选择
  • MajorGC 也叫老年代GC: 发生在老年代的垃圾回收,也称MajorGC,速度比较慢,相对于MinorGC慢10倍左右。

    • 注意: 老年代GC是一个形容词
      • 例如,你要打扫一下客厅垃圾,客厅GC是一个形容词,利用什么打扫,用什么方式是另一个问题
    • 老年代GC完成GC,用指定好的垃圾回收器,垃圾回收器会有自己的回收算法
    • CMS垃圾回收器主要用标记清除算法,其余的垃圾回收器都是用标记整理算法
      • CMS主要用标记清除算法,因为如果触发FullGC的条件,老年代不会再使用CMS
      • 而是使用单线程的serial old垃圾回收器,使用标记整理算法
  • FullGC (Full:完整):清理整个堆的GC事件,包括新生代、老年代、元空间等,他是GC的后备机制,也是垃圾回收的最后尊严,成败在此一举

    • 注意: FullGC是一个形容词
      • 例如,你要打扫一下整个家,整个家GC是一个形容词,利用什么打扫,用什么方式是另一个问题
    • FullGC完成GC,用指定好的垃圾回收器,会有自己的回收算法
    • 那FullGC用的什么垃圾回收器和算法呢?
    • FullGC都是单线程的serial 垃圾回收器 -> 标记-复制算法 + 标记-整理算法
  • Mixed GC: 清理整个新生代以及部分老年代的GC,只有G1有这个模式

点赞,靓仔

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值