全部评论
具体系统具体分析。基本上思路都是内存池中拿,小块内存怎么拿,大块内存怎么拿,各不一样。系统回收,也看情况。大块内存怎么还,小块内存怎么还。还的时候,是立即给操作系统还是给内存池。内存高水位,低水位怎么处理。malloc的版本各不一样,可以搜一下tcmalloc,或者malloc的论文。如果是stl的分配器(stl源码剖析讲解的那个),128字节下靠应用层内存池链表维护。128字节以上靠段页式操作系统维护。题外话,操作系统对一个进程分配的上虚拟内存,物理内存的调度又要搞事。叠床架屋……记得分层去想。
回收的时候根据地址和内存大小判断另一个是不是它的伙伴,如果是的话并且没有被使用就合并(然后你还要用一个位图去表示这块内存有没有被使用),递归进行就行了。
向上取整,回收的时候看伙伴能不能合并,能就一直合并到不能合并
从8那里取。3的阶那个。
相关推荐
01-03 20:47
北京交通大学 Java
nsjbambmbs:简历一写就是微服务,一问实际就俩服务,简历一写就是高并发一问 QPS 个位数既然写了微服务,那我出系统设计题场景题也没啥问题吧 点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-03 19:49
西南科技大学 嵌入式软件工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享

