C++ 八股问题

今天看C++八股
;堆:堆是向高地址扩展的数据结构,是不连续的内存区域,这是由于系统是由链表在存储空闲内存地址,自然堆就是不连续的内存区域,且链表的遍历也是从低地址向高地址遍历的,堆得大小受限于计算机系统的有效虚拟内存空间由此空间,堆获得的空间比较灵活,也比较大。;
看这个感觉这个链表内存池是OS实现的

我看完其他博客和视频的理解是:
malloc是c语言标准库函数,申请内存小于128kb通过brk系统调用申请,大于的通过mmap内存映射申请。
小于128的是malloc自己申请完free的时候不返回给操作系统,而是用链表管理起来,防止系统调用的开销
这个对吗

#C++##八股#
全部评论
参考小林coding,你的理解没什么问题
5 回复
分享
发布于 03-28 01:17 广东
可以看一下arena技术,用来管理小内存分配的,linux内存池差不多是封装了arena实现的。
1 回复
分享
发布于 04-07 01:32 广东
滴滴
校招火热招聘中
官网直投
点赞 回复
分享
发布于 03-28 19:26 北京

相关推荐

6 13 评论
分享
牛客网
牛客企业服务