译|从零开始的 Go 内存分配器可视化指南(golang)
原文:A visual guide to Go Memory Allocator from scratch (Golang)
当我第一次开始试图了解 Go 的内存分配器时,觉得它真令人抓狂。所有的所有都像是神秘的黑盒子。而由于几乎每一个技术魔法都隐藏在抽象之下,因此,你需要层层剥开才能理解它。
因此,在这篇博文中,我们将就做这件事。你想学习关于 Go 内存分配器的所有东西吗?那么,阅读这篇文章算是对了。
物理内存和虚拟内存
每一个内存分配器都需要使用由底层操作系统管理的虚拟内存空间。我们来看看它是如何工作的。
上图为物理内存单元的一个简单说明(并非精确表示)
单个内存