自由表 自由表英語free list是一种用来实现特定动态内存分配方案的数据结构也称自由列表自由表的核心原理是将若干未分配的内存块用链表连接起来将未分配区域的第一个字作为指向下一个未分配区域的指针使用自由表非常适合用来实现内存池因为内存池中对象的大小都是相同的 用自由表实现内存的分配和回收非常简单回收内存时只需将内存块链入自由表分配时也只需从自由表的一端取下即可直接使用如果内存块的大小不一则分配前还需要在自由表中搜索足够大的内存块可能有一定的额外消耗 因为自由表使用了链表结构所以也继承了它的劣势访问局部性低下难以利用缓存