JVM垃圾收集器

常用垃圾回收算法
  • 标记-清理算法
    • 常用于新生代回收算法,即标记垃圾区域,然后清除垃圾区域,缺点是会产生很多内存碎片
  • 复制算法
    • 常用于新生代回收算法,将正在使用的回收算法复制到一块新的区域,然后将原区域标记为已清理的内存区域,这样可以去掉很多内存碎片
  • 标记-整理算法
    • 将标记的区域依次复制到一起,实现碎片整理
垃圾收集器分类
  • serial
    • 新生代串行回收垃圾,常用于client新生代
  • parnew
    • 新生代并行回收垃圾,常用于server端新生代回收,不利于在单核处理器下使用该回收算法
  • parallel scavenge
    • 新生代串行回收垃圾,吞吐量优先,在响应时间内完成回收
  • serial old
    • 老年代串行回收垃圾,常用于client端老年代
  • parallel old
    • 老年代并行回收垃圾,serial old的多线程版本,并且实现了吞吐量优先
  • cms
    • 垃圾回收一共有4个阶段,其中只有初始标记、并发标记、并发清理三个步骤可以和用户线程同时执行,重新标记需要先挂起用户线程,这是一个比较好的折中垃圾回收算法,它并发集高,低停顿
      • 初始标记(并发执行)
      • 并发标记(并发执行)
      • 重新标记(串行执行)
      • 并发清理(并发执行)
  • g1
    • 将内存分为多块region
      • 初始标记(串行执行)
      • 并发标记(并发执行)
      • 最终标记(串行多线程执行)
      • 筛选回收(串行多线程执行)

转载于:https://www.cnblogs.com/shenjie2017/articles/10511962.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值