• js的内存管理


    1. 内存生命周期
      1. 分配内存:声明变量、函数、对象时候,系统自动分配内存;
      2. 使用内存:读写内存
      3. 释放内存:使用完毕,由垃圾回收机制自动回收不再使用的内存;
        1.   
        2. 引用计数垃圾回收1.0;
        3.   
               
          1. a=b;b=a一直不会被清理,造成内存泄漏;
          2.   
            
        4. 标记清楚算法2.0;
        5.   
               
          1. 所有变量加标记;
          2.    
          3. 根部触发将触及到的对象的标记清除;
          4.    
          5. 还存在标记的变量被视为准备删除;
          6.    
          7. 最后垃圾回收器清楚销毁标记的值回收他们的内存;
          8.    
                  
            1. {a=b  b=a}从全局对象出发无法再获取他们的引用,因此会被回收;
            2.    
              
    2. 内存泄漏:
      1. 程序运行需要内存,对于持续运行的服务进程,必须及时释放不再用到内存,否则内存将预占越高。轻者影响系统性能,重则导致进程崩溃。
                    内存泄漏:就是由于疏忽或错误造成程序未能及时释放内存,造成的内存的浪费。
        1.   
        2. 通过谷歌F12
      1. 常见内存泄漏案例
        1.   
        2. 意外全局变量:
        3.   
        4. 被遗忘的定时器;
        5.   
        6. 闭包;
        7.   
        8. dom引用;
        9.   
        10. 死循环
  • 相关阅读:
    java中变量命名和引用变量的一个坑
    java(2)之前往对象村
    java的print,printf,println以及输入
    HTML学习开篇
    今后的学习路径
    offline .net3.5
    java
    两个经典的Oracle触发器示例(轉)
    listview1
    Delphi连接Oracle控件ODAC的安装及使用(轉載)
  • 原文地址:https://www.cnblogs.com/yancongyang/p/11170075.html
Copyright © 2020-2023  润新知