javascript 垃圾回收机制

    垃圾收集机制的原理:找出那些不再使用的变量,然后释放其占用的内存。垃圾收集器会按照固定的时间间隔周期性地执行这一操作。

     垃圾收集器必须跟踪哪个变量有用哪个变量没用,对于不再有用的变量打上标记,以备将来收回其占用的内存。

    标记清除

    GC 会给存储在内存中的变量都给加上标记,然后他会去掉环境变量以及被环境变量引用的变量的标记,而在此之后再被加上标记的变量将被视为准备删除的变量。

    引用计数

    跟踪记录每个值被引用的次数。当声明了一个变量,并将一个引用类型的值赋给这个变量时,则这个值引用的次数就是1,如果同一个值又赋给了另一个变量,那么这个值就加1 。如果包含这个引用的变量又取得了另外一个值,则这个值得引用次数就减1。当这个值的引用次数变为0时,那就没办法访问这个变量了。这样,当垃圾回收器下次再运行时,它就会释放那些引用次数为0的值所占的内存。当退出域的时候 GC自动把这个变量的引用减1。 

猜你喜欢

转载自632928374.iteye.com/blog/2280589