javascript渣滓网络知识点提要(一)

以下总结内容来自《JavaScript高等顺序》(第三版) 页码:78

JavaScript具有自动渣滓网络机制,也就是说,实行环境会担任治理代码实行过程当中运用的内存。而在C和C++之类的语言中,开发人员的一项基本任务就是手工跟踪内存的运用情况,这是形成许多题目的一个泉源。在编写Javascript顺序时,开发人员不必再体贴内存运用题目,所需内存的分派以及无用内存的接纳完整完成了自动治理。这类渣滓网络机制的道理实在很简单:找出那些不在继承运用的变量,然后开释个中所占用的内存。为此,渣滓网络器会根据牢固的时候距离(或代码实行中预定的网络时候),周期性地实行这一操纵。

待剖析…

下面我们来剖析一下函数中局部变量的一般声明周期。局部变量只在函数实行的过程当中存在。而在这个过程当中,会为局部变量在栈(或堆)内存上分派响应的空间,以便存储他们的值。然后在函数中运用这些变量,直至函数实行借宿。此时,局部变量就没有存在的必要了,因而能够开释他们的内存以供未来运用。在这类情况下,很轻易推断变量是不是另有存在的必要;但并不是一切的情况下都这么轻易就可以得出结论。渣滓网络器必需跟踪哪一个变量有效哪一个变量没用,关于不在有效的变量打上标记,以备未来收回其占用的内存。用于标识无用变量的战略可能会因完成而异,但详细到浏览器中的完成,则一般有两个战略:标记消灭和援用计数。

    原文作者:两仪
    原文地址: https://segmentfault.com/a/1190000000694266
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞