知识卡片
堆是动态分配场
内容
堆由不同大小的内存块组成,分配器和 GC 都围绕这些连续虚拟内存片工作。发散:理解堆结构,才能理解为什么小对象、大对象和临时对象的成本不同。具体分级结构见[[MHeap管理大块内存]]。
参考来源
- 位置:《Go语言入门到实战(共3册)》第25章《Go语言编程入门与实战技巧:第15章 内存管理》(源文件:_epub-src/text/part0037_split_000.html)
- 结论依据:原文围绕“动态存储分配器”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。
- 原始内容:要知道“内存分配”与“垃圾回收”都属于“动态存储分配”,“动态存储分配器”维护的虚拟存储区域称为堆,堆可以视为一组大小不同的块(chunk:连续的虚拟存储片,内存分配器和垃圾回收算法都依赖连续地址)的集合,并交由动态存储器维护。