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

js垃圾回收机制

作者: 李友胜 | 来源:发表于2019-08-23 22:33 被阅读0次
概述

垃圾收集器会定期(周期性)找出不在使用的变量,然后释放内存,这个过程不是实时性的,因为开销比较大,所以垃圾回收器会按照固定的时间间隔执行。

垃圾回收两种策略
  • 标记清除
    对于脱离作用域的变量进行回收,当进入作用域时,对变量进行标记,离开作用域时,标记并回收这些变量。

当变量进入环境(例如,在函数中声明一个变量)时,将这个变量标记为“进入环境”。当变量离开环境时,将其标记为“离开环境”。

  • 引用计数
    引用计数是跟踪记录每个值被引用的次数。就是变量的引用次数,被引用一次则加1,当这个引用计数为0时,被视为准备回收的对象,每过一段时间,就把被引用数为0的变量回收。引用计数可能导致循环引用,导致内存泄漏。
function problem(){
    var a = new Object()
    var b = new Object()
    a.name = b;
    b.age = a;
}
// 这样互相引用就会导致大量的内存泄漏
常见的内存泄漏
  • 全局变量引起的内存泄漏
  • 闭包引起的内存泄漏
  • dom清空或者删除时,事件未清除
  • 循环引用
垃圾回收的缺陷

js的GC策略无法避免的一个问题: GC时,停止响应其他操作。

相关文章

  • JS 垃圾回收机制

    从下面这几个方面简单介绍:JS 垃圾回收机制,几种?weakMap, WeakSet JS 垃圾回收机制, 标记清...

  • Javascript垃圾回收机制

    简介 JS自带一套内存管理引擎,负责创建对象、销毁对象,以及垃圾回收。这期探讨一下垃圾回收机制。垃圾回收机制主要是...

  • JavaScript内存管理

    JS内存回收 JS 有自动垃圾回收机制,就是找出那些不再继续使用的值,然后释放其占用的内存。 垃圾回收算法: 引用...

  • JS垃圾回收机制

    JS中最常用的垃圾回收机制------标记清除 JS中最长用的垃圾回收机制是标记清除,当变量进入环境时,这个变量就...

  • 2018-10-13

    浅谈浏览器的垃圾回收机制和内存泄露 JavaScript使用垃圾回收机制来自动管理内存。 JS的回收机制分两种:1...

  • JS内存空间详解(摘录)

    js具有自动垃圾回收机制,垃圾回收的方法有两种:标记清除法、计数清除法 垃圾回收的实现算法: 垃圾回收器创建一个"...

  • 闭包的理解。

    js的垃圾回收机制 当一个函数执行完,js引擎会回收不再使用的内存,闭包通过这个作用域的引用,阻止了垃圾回收。 什...

  • JavaScript的垃圾回收机制

    大纲 1、认识垃圾回收机制2、垃圾回收机制的原理3、垃圾回收机制的标记策略4、垃圾回收机制与内存管理 1、认识垃圾...

  • JS垃圾回收机制(内存问题)

    垃圾收集机制理解 垃圾收集机制:释放无用的数据,回收内存。 垃圾收集机制分类:1)自动回收 2)手动回收 垃圾收集...

  • JavaScript的垃圾回收与内存管理

    1.垃圾回收机制 js具有自动的垃圾回收机制,执行环境会负责代码执行过程中使用的内存。 其实现原理是找出那些不在继...

网友评论

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

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