深入理解JVM——垃圾回收算法

18 篇文章 0 订阅
6 篇文章 1 订阅
一、标记—清除算法
  1. 介绍
    1. 最基础的收集算法
    2. 涉及“标记”和“清除”:首先标记所需回收的对象,一并清除。
  2. 特征
    1. 效率不高
    2. 空间问题:结束后产生大量不连续的内存碎片,导致后续分配大内存对象时不得不提前触发垃圾收集操作。
      标记-清除算法
二、复制算法

1.介绍

  1. 内存均分成两块,但只使用其中一块,这块用完了就将还存在的对象复制到第二块中,一次性清除使用过的内存空间。
  2. 无需考虑内存碎片问题

2.特征

  1. 实现简单,运行高效
  2. 内存缩小为一半,代价过大

  3. 复制算法
三、标记-整理算法
  1. 介绍

    1.先标记,将所有存活的对象都向一端移动
    2.直接清除端边界以外的内存
    这里写图片描述

四、分代收集算法
  1. 介绍

    1. 根据存活周期将内存分为几块,一般把堆分为新生代和老年代
      新生代

      1. 特征:每次垃圾回收时只有少量对象存活
      2. 算法:复制算法

      老年代

      1. 特征:对象存活率高,无多余空间进行分配担保
      2. 算法:标记-清除或者标记-整理 算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值