javascript垃圾回收机制

javascript垃圾回收机制

标记清理(主流)

当变量进入上下文时,该变量会被标记。逻辑上,在上下文还在执行期间,该变量不会被回收。当该变量离开上下文,也会被加上离开上下文的标记。

引用计数

记录每个引用值被变量引用的次数,当使用该引用值的变量被新的值覆盖,则引用次数-1.

存在一个问题:循环引用(A的某个值指向B,B的某个值指向A),引用始终无法清零。

内存管理

主要思想为:解除引用。当局部变量在超出作用域后就会被自动解除引用。

性能优化策略:

  1. 使用const和let声明

    const和let是块级作用域,更有利于回收

  2. 隐藏类和删除操作

    书p98

  3. 防止内存泄露

    (1)声明变量时没有使用var、const或let,导致声明的变量为全局变量。

    (2)闭包时也容易造成。

  4. 静态分配和对象池

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值