内存回收的第一种情况
来源:6-9 存储管理之内存分配与回收

别喷了我很菜
2021-06-29
老师您好, 请问一下
- 在视频的 11:10 处的ppt中, 您写到当第一种情况的内存回收发生时 “只需要将空闲区1的容量变成空闲区即可".
我有点不太明白是什么意思. 我是否能理解为: 针对这第一种的内存回收情况, 将 空闲区1 的容量变为:
( 新空闲区1 = 旧空闲区1 + 回收区 ) - 为什么会有第4种情况的出现? 这种情况下的回收区的上下区分别是什么? 内存分配完不是应该只存在内存被占用(或等待回收)和内存空闲两种情况吗
写回答
1回答
-
咚咚呛
2021-07-04
这里讨论的是维护空闲区所需的维护成本,我们使用链表的方式来维护空闲区,那么由于第一种情况下,空闲区和回收区是连续的,所以在维护的链表上,我们不需要新建一个链表节点来维护新回收的空间,因此只需要将原有的维护空闲区1的链表节点空间增大即可。
第四种情况指的是回收区上下区都是非空闲区,这种情况下就不涉及回收区与空闲区的合并,所以只需要为回收区创建新的空闲节点插入到空闲链表。
希望对你有所帮助哦。
012021-07-05
相似问题