javascrip中的垃圾回收

javascrip中的垃圾回收


1、垃圾回收是自动完成的,我们不能强制执行或是阻止执行

2、当对象是可达状态时,它一定是存在于内存中的

3、被引用与可访问(从一个根)不同:一组相互连接的对象可能整体都不可达



垃圾回收的步骤

1、垃圾收集器找到所有的根,并“标记”(记住)它们。

2、然后它遍历并“标记”来自它们的所有引用

3、然后它遍历标记的对象并标记 它们的 引用。所有被遍历到的对象都会被记住,以免将来再次遍历到同一个对象。

4、……如此操作,直到所有可达的(从根部)引用都被访问到。

5、没有被标记的对象都会被删除,(无法通过这个过程访问到的对象被认为是不可达的,并且会被删除)。

这是垃圾收集工作的概念。JavaScript 引擎做了许多优化,使垃圾回收运行速度更快,并且不影响正常代码运行。

你可能感兴趣的:(javascrip中的垃圾回收)