This commit is contained in:
firmianay
2017-08-12 00:24:19 +08:00
parent 6e61a3f025
commit d034ab3f83
2 changed files with 52 additions and 0 deletions

View File

@ -169,5 +169,8 @@ End of assembler dump.
## 堆与内存管理
#### 堆
堆是用于存放除了栈里的东西之外所有其他东西的内存区域,当使用 `malloc()``free()` 时就是在操作堆中的内存。对于堆来说,释放工作由程序员控制,容易产生 memory leak。
堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
#### 进程堆管理