四种主要垃圾回收

  1. Serial(串行回收)
    一个线程,会暂停用户线程
  2. Parallel(并行回收 java8默认使用)
  • 多个垃圾收集线程并行工作,用户线程暂停
  • 前两者 都会 stop the world
  1. CMS(并发标记清除算法)用来收集老年代
  • 用户线程和垃圾收集器同时执行(不一定并行.可能交替)

     初始标记(gcroot检测)(会暂停)
     并发标记
     重新标记(再标记一次)
     并发清除(和用户线程一起)
     优点:极大减少了停顿时间
     缺点:耗费cpu,必须在老年代堆内存用完前进行回收,否则CMS回收失败时候会触发担保机制,使用串行垃圾收集器
    
  1. G1 (老年代和新生代都回收)
    将eden,survivor,和old区域变得不再连续,将他们打散
    避免了全内存扫描
    将堆内存的物理空间划分取消了,将堆划分成32个区域,
    JAVA12又增加了ZGC
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值