栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

什么是JavaScript垃圾回收?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是JavaScript垃圾回收?

从该页面引用:

Jscript使用了非世代的标记清除垃圾收集器。它是这样的:

  • 每个“范围内”的变量都称为“清除剂”。清道夫可以指数字,对象,字符串等。我们维护一个清道夫列表-
    变量进入作用域时将移入scav列表,超出范围时将其移出scav列表。

  • 垃圾收集器不时地运行。首先,它在每个对象,变量,字符串等(GC跟踪的所有内存)上都打上“标记”。(Jscript在内部使用VARIANT数据结构,并且该结构中有许多额外的未使用位,因此我们只设置其中一个即可。)

*其次,它清除了清除剂上的标记以及清除剂引用的可传递性关闭。因此,如果清除剂对象引用了非清除剂对象,则我们清除非清除剂及其所引用的所有内容上的位。(我使用“关闭”一词的含义与我以前的帖子中的含义不同。)

  • 至此,我们知道所有仍被标记的内存是分配的内存,任何作用域内变量的任何路径都无法访问该内存。指示所有这些对象将其自身拆除,这会破坏任何循环引用。

垃圾回收的主要目的是使程序员 不必 担心他们创建和使用的对象的内存管理,尽管当然有时并不能避免这种情况-
至少对垃圾回收的工作原理有个大概的了解总是有益的。

历史记录:
较早版本的答案对

delete
操作员的引用不正确。在Javascript中,
delete
运算符从object移除属性,并且与
delete
C / C ++ 完全不同。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370911.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号