go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 变量的生命周期(2):堆(heap)

  • 在给变量分配内存时,使用堆分配类似于向一个房间中摆放家具(为变量分配内存),家具的尺寸(变量所占内存地址空间)有大有小
  • 在摆放家具(分配内存)时,需要找一块足够大小的空间(内存地址范围)
  • 经过反复摆放和腾挪之后,房子内摆放家具乱七八糟。到了一定时候,房子内虽然还有空间,但是分布在不同区域,没有一段连续的空间可以摆放家具(给变量分配地址空间)
  • 当房子没有连续的空间摆放家具,房主(内存分配器)就需要对现有空间调整优化

与栈内存分配相比,堆更适合不可预知大小的内存分配,但是代价是分配速度慢,易形成内存碎片。堆内存分配如下:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值