内存分配的两种方式
UNIX System V的malloc使用的是 first fit 为此 我一直觉得很奇怪 为啥 为啥 有best不用 为啥要用那个first 奇怪
为此我傻瓜了好久
今天 项目空闲时 想明白了 呵呵
因为 我们不一定能找到最适合的大小的内存 可能每次还都是会有些碎片的
如果使用best fit 万一每次都没有找到的话 那么每次产生的碎片都是最小的 这样的碎片可能对以后都没有什么用处了
而如果使用first fit 就不会每次都产生最小的碎片 而是产生的碎片可能比较大 下次申请的时候 可能这么段刚好给它用了 完美
而且还有效率的考虑 如果4G的内存 每次分配都遍历一次 那么多次分配 速度可能就太差了 而first就没有这个问题