静态存储区域、栈、堆(通俗易懂)

💂 个人网站: 【紫陌】【笔记分享网】
💅 想寻找共同学习交流、共同成长的伙伴, 请点击【前端学习交流群】

程序所有的数据,也就是所有的变量,都是存储在内存中的。

静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。

栈空间比较小,但是读取速度快

堆空间比较大,但是读取速度慢

例如:栈就是商店,堆就是仓库,商店面积比较小找东西比较快。仓库面积大,放的东西也多,找起来也慢。

栈的特征

数据只能从栈的顶端插入和删除

把数据放入栈顶称为入栈(push)

从栈顶删除数据称为出栈(pop)

内存中的栈,是由系统管理的

 例如:就好像一口井,每次往里面丢一块大石头,假设石头足够大,每层就只能放一块石头,那最后放的石头就在最上面,如果要把石头全部拿出来,最后放的石头最早被拿出来。

堆是一块内存区域,与栈不同,堆里的内存能够以任意顺序存入和移除

GC Garbage Collector垃圾回收器

CLR的GC就是内存管理机制,我们写程序不需要关心内存的使用,因为这些都是CLR帮

我们做了。

画了两个红X 的data1和data2就是数据用完后续不用了,就会被垃圾回收器回收。不回收的话堆满了,后续的新数据就进不来了

这里的某些概念,只需要了解和知道的,不需要知道内在核心原理,我们知道汽⻋的引擎

是汽⻋的核心动力来源,我们不需要知道引擎是怎么造。

同样,上述是编译器开发者的事情。

想要了解栈和堆得存什么数据

  • 9
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值