• 前端基础进阶(一):内存空间详细图解


    https://segmentfault.com/a/1190000012646488  https://yangbo5207.github.io/wutongluo/

    说明:此处只是记录阅读前端基础进阶的理解和总结,如有需要请阅读上面的链接

    一、三种数据结构

    1.栈:栈是一种先进后出,后进先出的数据结构,类似于装兵乓球的盒子,最先使用的肯定是最顶端的兵乓球也是最后放进去的,要想使用最顶部的兵乓球就必须要把上面的兵乓球都拿出来

    2.堆:堆是一种树状结构,具有无序性,只要知道节点的名称就可以访问该节点的值,类似json数据结构

    3.队列:队列是一种先进先出的数据结构,类似排队过安检,最前面的一定是先过安检的

    二、基础数据类型与引用类型

    1.javascript有五种基本数据类型:Undefined、 Null、Boolean 、Number、String

    2.引用类型:数组Array,对象Object属于引用类型

    3.引用类型与基本类型的区别:基本类型的变量中存放的是基本类型的值,引用类型的变量存放的是值的引用,也就是指向值的地址指针,而值本身存放在堆内存中(正常情况下js的数据都是存放在堆内存中,基本数据类型也是存放在堆内存中)

    4.引用类型的特性:由于基本类型和引用类型存在以上的区别,致使当把一个引用类型a复制给另一个引用类型b,而b指向的值改变后,a对应的值也跟着改变了,如下例子

    var m = { a: 10, b: 20 }
    var n = m;
    n.a = 15;//此时m.a=15

    三、内存管理

    1.JavaScript的内存生命周期

    1)分配需要的内存

    2)使用分配的内存(读、写)

    3)释放不再需要的内存

    var a = 20;  // 在内存中给数值变量分配空间
    alert(a + 100);  // 使用内存
    a = null; // 使用完毕之后,释放内存空间

    JavaScript有自动内存回收机制,会定期将不需要的内存回收释放。通过使用标记清除的算法可以标记某个元素的内存需要释放,比如a=null就可以标记a所占的内存不再使用需要释放,内存管理器会在下次运行时将内存空间回收

  • 相关阅读:
    innodb buffer pool简介
    按 host 分组统计视图
    show engine innodb status事务模块简介
    等待事件统计视图
    MySQL MGR新增成员xtrabackup
    按 user 分组统计视图
    按 file 分组统计视图
    jdk9下载
    idea怎样自动补全分号
    idea创建的项目中,没有out文件
  • 原文地址:https://www.cnblogs.com/lidaying5/p/8417422.html
Copyright © 2020-2023  润新知