码迷,mamicode.com
首页 > Web开发 > 详细

JS垃圾回收机制

时间:2019-03-16 21:59:51      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:引用类型   star   and   策略   就是   strong   src   item   记录   

原理:找出不再继续使用的变量,然后释放掉其占用的内存。

策略1:标记清除

当变量进入环境(可以理解为一个函数开始执行了)时,就将这个变量标记为“进入环境”,从逻辑上讲,不能释放掉进入环境的变量,而当变量离开环境的的时候,则将其标记为离开环境。

  1. 垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记

  2. 去掉环境中的变量以及被环境中的变量引用的变量的标记。

  3. 此后再被加上标记的变量将被视为准备删除的变量,因为环境中的变量已经无法访问到这些变量了。

策略2:引用计数

跟踪记录每一个值的引用次数,当声明了一个变量并将一个引用类型值赋给该变量的时候,这个引用类型的引用次数就是1,如果同一个值又被赋值给另一个变量,这个值的引用次数加1.如果包含对这个值引用的变量又取得了另一个值,则这个值的引用次数减1,当这个值引用次数为0的时候,就可以将这个引用值所占的内存空间回收回来。

技术图片

缺点:

如果存在循环引用的情况,那么这个引用值占的空间就永远不会被回收。

 

JS垃圾回收机制

标签:引用类型   star   and   策略   就是   strong   src   item   记录   

原文地址:https://www.cnblogs.com/GouKu/p/10544532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!