中高级前端必须了解的JS中的内存管理(推荐) 爱情美文片段

154浏览

中高级前端必须了解的JS中的内存管理(推荐) 爱情美文片段

JS有自动垃圾回收机制,那么这个自动垃圾回收机制的原理是什么呢?其实很简单,就是找出那些不再继续使用的值,然后释放其占用的内存。

大多数内存管理的问题都在这个阶段。

在这里最艰难的任务是找到不再需要使用的变量。

不再需要使用的变量也就是生命周期结束的变量,是局部变量,局部变量只在函数的执行过程中存在,当函数运行结束,没有其他引用(闭包),那么该变量会被标记回收。

全局变量的生命周期直至浏览器卸载页面才会结束,也就是说全局变量不会被当成垃圾回收。

因为自动垃圾回收机制的存在,开发人员可以不关心也不注意内存释放的有关问题,但对无用内存的释放这件事是客观存在的。 不幸的是,即使不考虑垃圾回收对性能的影响,目前最新的垃圾回收算法,也无法智能回收所有的极端情况。 接下来我们来探究一下JS垃圾回收的机制。

引用垃圾回收算法主要依赖于引用的概念。

在内存管理的环境中,一个对象如果有访问另一个对象的权限(隐式或者显式),叫做一个对象引用另一个对象。

例如,一个Javascript对象具有对它原型的引用(隐式引用)和对它属性的引用(显式引用)。

在这里,“对象”的概念不仅特指JavaScript对象,还包括函数作用域(或者全局词法作用域)。

引用计数垃圾收集这是最初级的垃圾回收算法。

引用计数算法定义“内存不再使用”的标准很简单,就是看一个对象是否有指向它的引用。

如果没有其他对象指向它了,说明该对象已经不再需了。

您现在的位置:文学网 > 儿童文学

上一篇:PHP使用DOM对XML解析处理操作示例 传统文化视频讲座

下一篇:没有了

你可能喜欢的:
友情链接