• Javascript 的内存管理


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

    1.引用计数法

    原理:当JavaScript代码生成一个新的内存驻留项时(比如一个对象或函数),系统就会为这个项留出一块内存空间。因为这个对象可能会被传递给很多函数,并且会被指定给很多变量,所以很多代码都会指向这个对象的内存空间。JavaScript会跟踪这些指针,当最后一个指针废弃不用时,这个对象占用的内存会被释放。

    缺点:

        -内存泄漏问题(内存泄漏是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果)

        -循环引用问题

        

    2.标记清除法

        //标记清除算法由以下步骤组成:

        -垃圾回收器构建"roots"列表。Roots通常是代码中保留引用的全局变量。在JavaScript中,"window"对象可以作为 root 全局变量示例。

        -所有的"roots"被检查并标记为active(即不是垃圾)。所有的children也被递归检查。从"root"能够到达的一切都不被认为是垃圾。

        -所有为不被标记为active的内存可以被认为是垃圾了。收集器限制可以释放这些内存并将其返回到操作系统。

  • 相关阅读:
    googlestyleguide
    利用安装光盘创建本地 yum 源补装 RPM 软件包
    串,并联电路的电阻,电流,电压,电功,电功率,电热的分配规律
    链接时如何选择C RunTime(CRT) library
    delphi函数参考手册
    QQ2006 界面编程
    DELPHI6 函数大全
    家庭照明电路设计
    IP地址转换成IP Number并得到国家
    两个或多个开关控制一盏灯的电器接线图
  • 原文地址:https://www.cnblogs.com/lishuge/p/12343121.html
Copyright © 2020-2023  润新知