美文网首页
常见垃圾回收算法

常见垃圾回收算法

作者: HIKALU | 来源:发表于2021-08-11 23:46 被阅读0次

    什么是垃圾回收(GC)

    垃圾回收机制是一种找到内存中的垃圾将其释放并回收空间的机制

    常见的垃圾回收算法

    • 引用计数法
    • 标记清楚法
    • 标记整理法
    • 分代回收法

    引用计数法

    • 核心思想:设置引用数,判断当前的引用数是否为0
    • 设置引用计数器
    • 引用关系改变时修改引用数值
    • 引用数值为0时立即回收
      优点
    • 发现垃圾立即回收
    • 最大限度减少程序暂停
      缺点
    • 无法回收循环引用的对象
    • 时间开销较大

    标记清除法

    • 核心思想:分标记和清楚两个阶段完成
    • 遍历所有对象找到标记活动对象
    • 遍历所有对象清除没有标记的对象
    • 回收相应空间
      优点
    • 可以回收循环引用的对象
      缺点
    • 回收的内存碎片化,不连续
    • 不会立即回收垃圾对象

    标记整理算法

    • 核心思想:在标记清除的基础上做优化,标记阶段和标记清除算法一致,但是清除阶段会先执行整理,移动对象的位置,保证回收内存空间的连续性
    • 遍历所有对象找到标记活动对象
    • 执行整理,移动对象的位置
    • 遍历所有对象清除没有标记的对象
    • 回收相应空间
      优点
    • 可以回收循环引用的对象
      缺点
    • 回收的内存碎片化,不连续
    • 不会立即回收垃圾对象

    相关文章

      网友评论

          本文标题:常见垃圾回收算法

          本文链接:https://www.haomeiwen.com/subject/sxdkbltx.html