标记清除是javascript中最常用的垃圾回收方法。
实现方法
1、当变量进入执行环境时,标记为进入环境。
2、从逻辑上讲,进入环境的变量占用的内存永远无法释放,因为只要执行流进入相应的环境,就有可能使用。
当变量离开环境时,它被标记为离开环境。
垃圾收集器运行时,会标记存储在内存中的所有变量。然后,它将去除环境中的变量和被环境中的变量引用的标记。之后添加标记的变量将被视为准备删除的变量,因为环境中的变量无法访问这些变量。最终。垃圾收集器完成内存清除,销毁标记值,回收占用的内存空间。
实例
varm=0,n=19//把m,n,add()标记为进入环境。 add(m,n)//把a,b,c标记为进入环境。 console.log(n)//a,b,c标记为离开环境,等待垃圾回收。 functionadd(a,b){ a++ varc=a+b returnc }
以上就是javascript标记清除的实现,希望对大家有所帮助。更多Javascript学习指路:Javascript
原文来自:https://www.py.cn© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容