美文网首页
js垃圾回收机制

js垃圾回收机制

作者: louhangfei | 来源:发表于2019-06-17 16:44 被阅读0次

    引用计数垃圾收集算法
    标记-清除(Mark-and-sweep)算法

    该算法能够判断出某个对象是否可以访问,从而知道该对象是否有用,该算法由以下步骤组成:
    垃圾收集器构建一个“根”列表,用于保存引用的全局变量。在JavaScript中,“window”对象是一个可作为根节点的全局变量。
    然后,算法检查所有根及其子节点,并将它们标记为活动的(这意味着它们不是垃圾)。任何根不能到达的地方都将被标记为垃圾。
    最后,垃圾收集器释放所有未标记为活动的内存块,并将该内存返回给操作系统。

    garbagecollect.gif

    这个算法比上一个算法要好,因为“一个对象没有被引用”就意味着这个对象无法访问。
    截至2012年,所有现代浏览器都有标记-清除垃圾收集器。过去几年在JavaScript垃圾收集(分代/增量/并发/并行垃圾收集)领域所做的所有改进都是对该算法(标记-清除)的实现改进,而不是对垃圾收集算法本身的改进,也不是它决定对象是否可访问的目标。

    相关文章

      网友评论

          本文标题:js垃圾回收机制

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