fbpx
维基百科

自由表

自由表(英語:free list[1]是一种用来实现特定动态内存分配方案的数据结构,也称自由列表。自由表的核心原理是将若干未分配的内存块用链表连接起来,将未分配区域的第一个作为指向下一个未分配区域的指针使用。自由表非常适合用来实现内存池,因为内存池中对象的大小都是相同的。

用自由表实现内存的分配和回收非常简单:回收内存时只需将内存块链入自由表;分配时也只需从自由表的一端取下即可直接使用。如果内存块的大小不一,则分配前还需要在自由表中搜索足够大的内存块,可能有一定的额外消耗。

因为自由表使用了链表结构,所以也继承了它的劣势:访问局部性低下,难以利用缓存

另见 编辑

  • 伙伴内存分配器英语Buddy memory allocation

参考资料 编辑

  1. ^ . 國家教育研究院雙語詞彙、學術名詞暨辭書資訊網. [2018-07-13]. (原始内容存档于2018-09-10). 

自由表, 英語, free, list, 是一种用来实现特定动态内存分配方案的数据结构, 也称自由列表, 的核心原理是将若干未分配的内存块用链表连接起来, 将未分配区域的第一个字作为指向下一个未分配区域的指针使用, 非常适合用来实现内存池, 因为内存池中对象的大小都是相同的, 用实现内存的分配和回收非常简单, 回收内存时只需将内存块链入, 分配时也只需从的一端取下即可直接使用, 如果内存块的大小不一, 则分配前还需要在中搜索足够大的内存块, 可能有一定的额外消耗, 因为使用了链表结构, 所以也继承了它的劣势, 访问. 自由表 英語 free list 1 是一种用来实现特定动态内存分配方案的数据结构 也称自由列表 自由表的核心原理是将若干未分配的内存块用链表连接起来 将未分配区域的第一个字作为指向下一个未分配区域的指针使用 自由表非常适合用来实现内存池 因为内存池中对象的大小都是相同的 用自由表实现内存的分配和回收非常简单 回收内存时只需将内存块链入自由表 分配时也只需从自由表的一端取下即可直接使用 如果内存块的大小不一 则分配前还需要在自由表中搜索足够大的内存块 可能有一定的额外消耗 因为自由表使用了链表结构 所以也继承了它的劣势 访问局部性低下 难以利用缓存 另见 编辑伙伴内存分配器 英语 Buddy memory allocation 参考资料 编辑 freelist 自由表 國家教育研究院雙語詞彙 學術名詞暨辭書資訊網 2018 07 13 原始内容存档于2018 09 10 取自 https zh wikipedia org w index php title 自由表 amp oldid 70758535, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。