zoukankan      html  css  js  c++  java
  • JavaScript性能优化之内存管理及垃圾回收

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

    首先要了解几个概念:

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

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

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

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

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

    程如下图所示:

    二.JavaScript之垃圾回收

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

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

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

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

    理解为是全局变量对象。

    JavaScript的引用和可达

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

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

    ---感谢阅读,o(* ̄︶ ̄*)o开心每一天!
  • 相关阅读:
    Java -verbose:gc 命令
    JVM中启用逃逸分析
    nginx指定配制文件
    jvm笔记
    python添加tab键提示
    ssh-copy-id帮你建立信任
    救火必备linux命令
    oracle判断字符串中包函另外一个字符串
    String,StringBuffer,StringBuilder三者区别
    Python数据分析应用背景
  • 原文地址:https://www.cnblogs.com/websiteblogs/p/14286034.html
Copyright © 2011-2022 走看看