【内存池系列】我的内存池设计(更新中)
来源:互联网 发布:编程儿童产业 编辑:程序博客网 时间:2024/06/08 08:11
读罢多篇关于内存池的文章,本菜鸟终于准备开始思考设计我的内存池了,以下正式开始。
设计目的:
为了针对内存数据库中的内存分配问题。
设计思路:
通常我们在程序中不同地方频繁new的时候,就容易产生内存碎片,效率低下,并且还有可能忘记释放内存,造成内存泄露导致程序崩溃。(为什么会这样,见我前几篇转的文章,或者自己百度去)为了解决这些问题,我们在分配内存的时候可以采用内存池技术。然而内存池的实现又分多钟,在阅读了相关文章之后,我总结出了我自己需要的内存池。要求如下:
1、能够展示内存池内数据的使用情况;
2、能够快速实现内存的回收和利用;
3、需要对多线程提供支持;
4、要求能够进行碎片整理;
5、异常检测std:bad_alloc。
同时,在设计过程中存在一些难点,如下:
1、控制内存池有序的增长和内存块高效的回收;
2、多线程下的内存申请同步;
3、高效的遍历所有内存块;
4、监控内存泄露;
5、内存碎片的整理。
同时,常见的fixed-pool只提供一种大小的内存块,即单级链表内存池,而我需要我的是多级链表内存池,能够分配8,16,32,64,128,256,512字节大小的内存块,大小相同的内存块将形成同一链表,即所谓的多级链表。所有链表的头指针以数组存储。
http://blog.163.com/xuanmingzhiyou@yeah/blog/static/14247767620123138564028/
(明日更新...)
- 【内存池系列】我的内存池设计(更新中)
- 【内存池系列】内存池的一些设计思路
- Nginx系列三 内存池的设计
- 内存池的设计
- 内存池的设计
- 【内存池系列】内存池设计与应用
- 【内存池系列】内存池设计与应用
- 内存池设计
- 内存池设计
- 内存池设计
- 内存池设计
- 内存池设计
- 【内存池系列】提高C++性能的编程技术 学习笔记(二) 内存池
- 内存管理(持续更新中。。。)
- 内存管理之内存池的设计
- 内存管理之内存池的设计
- 内存池的设计与实现
- 内存池的设计与实现
- 以前的他
- 对话框通知
- 自动化的倚天剑QTP(一)
- GenericJDBCException: could not insert: [com.sns.bean.User]
- 如何从函数中获取动态内存
- 【内存池系列】我的内存池设计(更新中)
- NonUniqueResultException: query did not return a unique result: 2
- DOS的MD和RD命令使用说明
- 尽力
- 设置TextView每行最大字数
- Hibernate4使用Annotation连接访问MySQL的小例子
- 屏幕右下角出现“Windows7内部版本7601不是正版”的解决方法
- MD5
- IPC框架分析 Binder,Service,Service manager