美文网首页
第17章 垃圾回收

第17章 垃圾回收

作者: c84f3109853b | 来源:发表于2017-05-08 00:42 被阅读0次

    17.1 概述

    三色标记和写屏障

    这是让标记和用户代码并发的基本保障,基本原理:

    • 起初所有对象都是白色的。
    • 扫描找出所有可达对象,标记为灰色,放入待处理队列。
    • 从队列提取灰色对象,将其引用对象标记为灰色放入队列,自身标记为黑色。
    • 写屏障监视对象内存修改,重新标色或放入队列。
      当完成全部扫描和标记工作后,剩余的不是白色就是黑色,分别代表待回收和活跃对象,清理操作只须将白色对象内存收回即可。

    我的问题:

    • 什么叫可达对象?
    • 其引用对象是指什么?
    • 写屏障是什么东东?具体运行机制是什么样的?

    控制器

    控制器全程参与并发回收任务,记录相关状态数据,动态调整运行策略,影响并发标记单元的工作模式和数量,平衡CPU资源占用。当回收结束时,参与next_gc回收阈值设置,调整垃圾回收触发频率。

    辅助回收

    某些时候,对象分配速度可能远快于后台标记。这会引发一系列恶果,比如堆恶性扩张,甚至让垃圾回收永远无法完成。
    此时,让用户代码线程参与后台回收标记就非常有必要。在为对象分配堆内存时,通过相关策略去执行一定限度的回收操作,平衡分配和回收操作,让进程处于良性状态。

    相关文章

      网友评论

          本文标题:第17章 垃圾回收

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