美文网首页
JavaScript垃圾收集

JavaScript垃圾收集

作者: Julian1009 | 来源:发表于2017-11-30 00:12 被阅读0次

JavaScript是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题。可以对JavaScript的垃圾收集例程作如下总结。

  • 离开作用域的值将被自动标记为可以回收,因此将在垃圾收集期间被删除。
  • 标记清除”是目前主流的垃圾收集算法,这种算法的思想是给当前不使用的值加上标记,然后再回收其内存。
    垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记(当然,可以使用任何标记方式)。然后,它会去掉环境中的变量以及被环境中的变量引用的变量的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变量了。最后,垃圾收集器完成内存清除工作,销毁那些带标记的值并回收它们所占用的内存空间。
  • 另一种垃圾收集算法是“引用计数”,这种算法的思想是跟踪记录所有值被引用的次数。JavaScript引擎目前都不再使用这种算法;但在IE中访问非原生JavaScript对象(如DOM元素)时,这种算法仍然可能会导致问题。
  • 当代码中存在循环引用现象时,“引用计数”算法就会导致问题。
  • 解除变量的引用不仅有助于消除循环引用现象,而且对垃圾收集也有好处。为了确保有效地回收内存,应该及时解除不再使用的全局对象、全局对象属性以及循环引用变量的引用。

相关文章

  • 闭包会造成内存泄漏吗?

    前言 在谈内存泄漏这个问题之前先看看JavaScript的垃圾收集机制,JavaScript 具有自动垃圾收集机制...

  • js之内存泄漏

    一、JavaScript 的垃圾收集机制 javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代...

  • JavaScript之垃圾收集

    垃圾收集 JavaScript 具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。这种垃圾收集机制...

  • JavaScript垃圾收集

    JavaScript是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存分配和回收问题。可以对JavaScr...

  • JavaScript - 垃圾收集

    JavaScript 具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存。 1.标记清除 ...

  • javaScript垃圾收集

    javaScript具有自动垃圾收集机制,开发人员不用再关心内存的使用问题,执行环境会负责管理代码执行过程中使用的...

  • 垃圾收集与内存泄漏

    垃圾收集机制 与C,C++不同,JavaScript拥有自动垃圾收集机制,垃圾收集器会按照固定的时间间隔,周期性的...

  • javascript垃圾回收与内存泄漏

    垃圾回收机制 自动垃圾收集机制 javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程...

  • JavaScript入坑第一步:夯实基础

    目录 JavaScript的基本数据类型 JavaScript的执行环境和作用域链 JavaScript的垃圾收集...

  • JavaScript内存管理-标记清除

    JavaScript具有自动垃圾收集机制,执行环境会负责管理代码执行过程中使用的内存。这种垃圾收集机制的原理很简单...

网友评论

      本文标题:JavaScript垃圾收集

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