知识卡片

MHeap管理大块内存

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.1.b.1.a.2.a.5.a.2

内容

mheap 管理大块内存并切分成不同等级 span,支撑上层小对象分配。发散:小对象分配快,背后依赖大块内存的分级组织。呼应[[堆是动态分配场]]对堆结构的描述。

参考来源

- 位置:《Go语言入门到实战(共3册)》第41章《Go语言学习笔记:第16章 内存分配》(源文件:_epub-src/text/part0099.html) - 结论依据:原文围绕“mheap.go”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的语言/工程结论,并补充了边界或实践启发。 - 原始内容:alloc.go _PageShift = 13 _PageSize = 1 << _PageShift // 8KB mheap.go 用于存储对象的object,按8字节倍数分为n种。比如说,大小为24的object可用来存储范围在17 ~ 24字节的对象。这种方式虽然会造成一些内存浪费,但分配……