一名前端开发~对栈内存和堆内存的总结

前言

  • 于过往的理解~结合网上的概述 成就此文!

To travel is better than to arrive.
路途之美,远甚终点。

栈内存

  • 由程序(编译器)自动分配内存;
  • 是一块连续的内存;
  • 存放基本数据类型;
  • 存取顺序:先进后出;
  • 存储量相对较小 1~2M,自由度小 (基本数据类型?你还想干嘛?);
  • 使用完,自动销毁;

堆内存

  • 由程序员手动分配内存;
  • 存放引用数据类型(对象和数组);

以数组为例:var a=[ 1,2,3 ];(将右边的数组,赋值给左边的变量);
* 程序将左边的变量a~存储在栈空间;
*  程序将右边的数组 [1,2,3]作为实体~存储在堆内存;
* 此时,我们肯定想知道这个数组在堆中的具体存储位置,对吧?
* “内存地址” 就是数组在堆内存中的~存储位置;
* 最后,数组的“内存地址”指向(赋值)变量a,从此我们通过数组的“内存地址”~~去操控数组。

  • 顺序随意;
  • 存储量相对大一点,自由度大一点(我数组里放对象,反之我还能来…);
  • 不连续的内存区域;
  • 需要程序员自己销毁或不定时间后GC~系统垃圾回收掉;

写在最后

  • 上文,若有疏漏和问题,欢迎指正~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值