垃圾回收机制(js)

内存生命周期

  1. 内存分配:当我们申明变量、函数、对象,并执行的时候,系统会自动为他们分配内存
  2. 内存使用:即读写内存,也就是使用变量、函数等
  3. 内存回收:使用完毕,由垃圾回收机制自动回收不再使用的内存 

 垃圾回收可自动回收也可手动回收(赋值为null)

 垃圾回收机制策略(标记清除算法)

 这是js最常用的垃圾收集方式(标记清除),还有其他的垃圾收集算法,如引用计数算法等(这里我们只说最常用的)

此算法可以分为两个阶段,一个是标记阶段(mark),一个是清除阶段(sweep)。

标记阶段,垃圾回收器会从根对象开始遍历。每一个可以从根对象访问到的对象都会被添加一个标识,于是这个对象就被标识为可到达对象。
清除阶段,垃圾回收器会对堆内存从头到尾进行线性遍历,如果发现有对象没有被标识为可到达对象,那么就将此对象占用的内存回收,并且将原来标记为可到达对象的标识清除,以便进行下一次垃圾回收操作。

何时开始垃圾回收

当内存耗尽时,程序将会被挂起,垃圾回收开始执行 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值