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

2021/10/30 6:13:19

本文主要是介绍go语言学习笔记 — 基础 — 基本语法— 常量与变量 — 变量的生命周期(2):堆(heap),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

在这里插入图片描述



这篇关于go语言学习笔记 — 基础 — 基本语法— 常量与变量 — 变量的生命周期(2):堆(heap)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程