js回收垃圾机制

js回收垃圾机制
我们js在开发中每创建一个变量,都会在我们的栈空间开辟一个新的区域,这就涉及到我们的内存泄漏了.
而垃圾回收机制,是为了防止内存泄露,而内存泄露的含义就是当我们已经不需要某块内存的时候,但是这个内存还存在着,那么我们的垃圾回收机制,就会间歇的,不定期的寻找到不再使用的变量,并且释放它所指向的内存.
那我们怎么知道哪些变量不再使用阿?
主要是有2种方法:标记清除法和引用计数法
标记清除法
1.是先通过root节点开始,层层遍历,给遍历道的对象都打上标记,证明它还在使用,
2.再次遍历,发现没有标记的对象,认为它是垃圾,然后把它回收。

引用计数法

var obj = {
    
    name: '小lin'} // 引用次数加1
var obj1 = obj // 引用次数加1
var obj2 = obj // 引用次数加1,此时为3
var obj = obj1 = obj2  = null  {
    
    name: '小lin'} 引用次数为0, 等待垃圾回收

猜你喜欢

转载自blog.csdn.net/weixin_45090657/article/details/129543431
今日推荐