垃圾回收机制

97 阅读1分钟

垃圾回收机制

  • Garbage Collection ==》 G c
  • JS中内存的分配和回收都是自动的,内存在不使用的时候会被JS引擎/垃圾回收程序会自动回收
  • 内存泄漏: 不再使用的内存,没有被及时释放

全局变量一般不会回收(关掉页面回收)

  • 全局变量一般不会回收(关掉页面回收)
  • image.png

局部变量

  • 局部变量的值,一般情况下,不用了,会被自动回收
  • image.png

回收机制

1.引用计数法 淘汰

  • IE采用的引用技术算法,定义 内存不再使用的标准很简单,就是看一个对象是否有指向它的引用.

算法:

  1. 跟踪记录每个值被引用的次数.
  2. 这个值如果被引用了一次,那么就记录次数1
  3. 多次引用会累加
  4. 如减少一个引用就减1
  5. 如果引用次数为0,则释放内存

引用计数法缺陷-循环引用-内存泄漏

image.png image.png

2.标记清除法

  1. 标记阶段: 标记内存为活动对象和非活动对象
  2. 清除阶段: 回收非活动对象的内存,也就是销毁清除非活动对象.
  • 注意: 优化:重新排列座位(内存)造成问题:内存碎片化
  • 优化:重新排列座位(内存)===>标记整理算法