JS的内存问题

来源:互联网 发布:淘宝上日本直邮几天 编辑:程序博客网 时间:2024/05/17 09:44

   JS有自动的垃圾收集机制。

   两种垃圾收集方式:

     1.标记清除:

         垃圾收集器在运行的时候会给内存中的所有变量加上标记,然后会去掉在环境中的变量和被环境中的变量引用的变量的标记,之后再被加上标记的变量就是要被清除的变量。

     2.引用计数:

         跟踪记录每个值被引用的次数。

        当声明变量后并把引用类型值赋给此变量后,该值的引用次数是1。 如果同一个值又被赋给下一个变量,则该值的引用次数加1。反之,如果引用这个值的变量又引用了另外一个值,则该值的引用次数减1。当该值的引用次数变为0后,就可以将其占用的内存空间收回来,垃圾收集器再次运行时,就会释放引用次数为0的值所占用的内存。

        但是这个方法不能适应循环引用的问题。。。


    内存管理方法:

      解除引用: 对于不需要的数据可以把它的值设为null来释放其引用(适用于全局变量和全局对象的属性)


  





0 0
原创粉丝点击