js的垃圾回收机制

js 垃圾回收机制(GC)

1、GC–garbage collection ,js具有“自动”垃圾回收机制
即执行环境会负责管理代码执行过程中使用的内存
2、GC会定期(周期性的)找出那些不再继续使用的变量,然后释放其内存
3、不再使用的变量即生命周期结束的变量会被释放,只能是局部变量
全局变量的生命周期,直到浏览器卸载页面才会结束
4、闭包由于内部函数原因,外部函数不能算结束,无法释放内存
5、js的垃圾回收机制----采用的方式
(1)标记清除法
当变量进入执行环境时,就将这个变量标记为“进入环境”,当变量离开环境时会被标记“离开环境”,离开环境的变量内存被释放

        function f1(){
            //被标记已进入执行环境
            var a=1
            var b=2
        }
        f1()  //执行完毕,a,b被标记离开执行环境,内存释放

(2)引用计数法
跟踪记录每个值被引用的次数,当某个值的引用次数变为0时,说明没有方法在访问该值了,则可将其占用的内存收回


function f1(){
            //跟踪a的引用计数
            var a={}   //a的引用次数 0
            var b=a    //a的引用次数 1
            var c=a     //a的引用次数 2
            var b={}    //a的引用次数 1
            var c=[]    //a的引用次数 0
        }

(3)手工 --直接置空,GC下次再运行时会删除这些值

    a=null

————————————————
版权声明:本文为CSDN博主「盐味气水」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_47433370/article/details/125944847

你可能感兴趣的:(javascript,java,开发语言)