请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

内存回收的第一种情况

老师您好, 请问一下

  1. 在视频的 11:10 处的ppt中, 您写到当第一种情况的内存回收发生时 “只需要将空闲区1的容量变成空闲区即可".
    我有点不太明白是什么意思. 我是否能理解为: 针对这第一种的内存回收情况, 将 空闲区1 的容量变为:
    ( 新空闲区1 = 旧空闲区1 + 回收区 )
  2. 为什么会有第4种情况的出现? 这种情况下的回收区的上下区分别是什么? 内存分配完不是应该只存在内存被占用(或等待回收)和内存空闲两种情况吗

正在回答 回答被采纳积分+3

1回答

咚咚呛 2021-07-04 22:28:57
  1.  这里讨论的是维护空闲区所需的维护成本,我们使用链表的方式来维护空闲区,那么由于第一种情况下,空闲区和回收区是连续的,所以在维护的链表上,我们不需要新建一个链表节点来维护新回收的空间,因此只需要将原有的维护空闲区1的链表节点空间增大即可。

  2. 第四种情况指的是回收区上下区都是非空闲区,这种情况下就不涉及回收区与空闲区的合并,所以只需要为回收区创建新的空闲节点插入到空闲链表。

希望对你有所帮助哦。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信