目录
一、什么是内存泄漏?
内存泄漏是指不再用的内存没有及时地被释放出来,导致该段内存无法被使用,就是内存泄漏。
二、为什么会导致内存泄漏?
内存泄漏是指我们无法再通过js访问某个对象,而垃圾回收机制却认为该对象还在被引用,因此垃圾回收机制不会释放该对象,使得该块内存永远无法被释放,这样的内存积少成多,导致了内存泄漏,让系统越来越卡以至于崩溃。
三、垃圾回收机制都有哪些策略?
1、标记清除法
垃圾回收机制获取 “垃圾” 并标记 它们,然后访问并标记所有它们的引用,再访问它们的引用并标记后续的引用...如此递进结束后若发现有 没有标记的(不可达的)就进行删除,特殊情况下处于执行环境的不进行删除。
2、引用计数法
当声明一个变量并给该变量赋值一个引用类型的值(比如对象)时候,该值的计数+1,当该值赋值给另一个变量的时候,该值的计数也+1。当该值被其他值取代的时候,该值的计数就-1,而当计数为0的时候,就说明无法访问该值了,垃圾回收机制就会清除该值。