• JavaScript性能优化之内存管理及垃圾回收


    一.JavaScript性能优化之内存管理

    首先要了解几个概念:

    内存:由可读写单元组成,表示一片可操作空间

    管理:人为的去操作一片空间的申请,使用和释放

    内存管理:开发者主动申请空间,使用空间,释放空间

    内存管理流程 申请-使用-释放

    javaScript没有相应的api去操作空间,所以我们在JavaScript执行引擎遇到变量定义语句的时候自动分配给我们一个相应的空间,流

    程如下图所示:

    二.JavaScript之垃圾回收

    javaScript中的内存管理是自动的,在创建对象,数组或者函数 分配相应的内存空间,后续代码在执行的过程中,如果通过一些引用关系无法

    再找到对象的时候称之为垃圾,如果说因为一些语法错误,或者一些结构性的错误致使对象无法从根上访问到时,也称为垃圾。javaScript

    搜索引擎就会出来工作,把所占据的空间进行回收,这个过程就叫做javaScript垃圾回收,在此我们还必须了解一个概念可达对象

    JavaScript中的可达对象:可以访问到的对象就是可达对象(引用,作用域链),可达的标准一定从根上出发找的到, JavaScript中的根就可以

    理解为是全局变量对象。

    JavaScript的引用和可达

    从全局的根出发,可以找到一个可达的对象obj,通过函数调用指向了O1和O2,

    如下图红线部分delete掉O1,再delete掉obj2.prev,则红线框住的部分就是浏览器垃圾回收部分

    ---感谢阅读,o(* ̄︶ ̄*)o开心每一天!
  • 相关阅读:
    受益一生的15个学习习惯
    如何在工作的头三年里让自己变得强大
    linux定时执行脚本
    SpringMVC基础入门
    Spring与Quartz的整合实现定时任务调度[转]
    强肝保肝养肝4大食物
    Spring官网jar包下载方法
    tomcat管理端的页面安全措施
    Struts2 Action 动态传参数
    Java之控制反转和依赖注入
  • 原文地址:https://www.cnblogs.com/websiteblogs/p/14286034.html
Copyright © 2020-2023  润新知