Skip to content
大纲

js垃圾回收机制

栈内存中的基本类型,可以通过操作系统直接处理;而堆内存中的引用类型,正是由于可以经常变化,大小不固定,因此需要 JavaScript 的引擎通过垃圾回收机制来处理 js自己有套垃圾回收机制,开发人员不用关心内存分配和回收问题,但要知道其机制

不被回收的固有值

  1. 本地函数的局部变量和参数
  2. 全局变量 (所以为什么要注意)
  3. 内部的

回收机制

基于'可达性'概念,活在作用域中。

标记清除法

当进入作用域,局部变量打上进入的标签,垃圾回收时对进入状态的变量永远不会清除,当作用域结束时,局部变量打上结束标签,下一次垃圾回收时,就会被干掉

引用计数法

声明一个引用类型时,标记其引用为0,然后跟踪这个引用类型,当这个引用类型地址赋值给变量时引用标记+1,当变量改变值之后,引用标记-1,当0时,下一次垃圾回收时被干掉

Released under the MIT License.