垃圾回收算法

垃圾回收算法

1.标记清除法

分为两个阶段:标记和清除

标记阶段:标记所有需要回收的对象

清除阶段:回收被标记对象所占用的空间

缺点:内存碎片化严重

2.复制算法

将内存容量分为两块,每次只用其中一块

当一块内存满了将还存活的对象复制到另一块上,把已有的内存清理掉

缺点:可用内存被压缩为原来的一半;存活对象较多时,复制算法的效率降低

3.标记整理算法

标记需要回收的对象

将存活的对象移到内存的一端

清除边界外的对象

4.分代收集算法

新生代

  1. 新生代每次垃圾回收时,大量垃圾被回收

  2. 新生代占整个内存区域的三分之一,按照8:1:1分为三块:Eden区、Survivor From区、Survivor To区

  3. 每次只使用Eden区和其中一块Survivor区,当垃圾回收时,将两块空间中还存活的对象复制到另一块Survivor区中,存活的对象年龄+1

  4. 当Survivor区中对象的年龄达到15时,将该对象移动到老年代内存区

  5. 如果Survivor区放不下存活的对象,则存放到老年代内存区

老年代

  1. 老年代每次垃圾回收时,只有少量垃圾被回收
  2. 采用标记整理算法
  3. 在进行Major GC之前一般会进行一次Minor GC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值