创建自己的内存管理
2015-12-31 11:46
134 查看
内存管理只要是内存分配和内存释放,通过管理达到内存循环高效使用的目的。
链表对内存索引节点的相关操作比较适合,不管是添加节点还是删除节点都非常方便。在此可选择使用数组和链表互相配合来完成这个机制。
首先用数组记录下访问索引节点是否被使用,以及分配的内存空间大小。
然后使用双向链表将已使用的内存索引节点保存起来,通过对链表节点的添加和删除来实现内存节点的高效访问。
其中,关于内存碎片的处理,当执行插入操作时,首先会在相邻节点之间查找是否有符合申请大小的内存空间,如果符合,则优先使用此空间,否则就在后端连续的未使用的内存区域分配空间。
链表对内存索引节点的相关操作比较适合,不管是添加节点还是删除节点都非常方便。在此可选择使用数组和链表互相配合来完成这个机制。
首先用数组记录下访问索引节点是否被使用,以及分配的内存空间大小。
然后使用双向链表将已使用的内存索引节点保存起来,通过对链表节点的添加和删除来实现内存节点的高效访问。
其中,关于内存碎片的处理,当执行插入操作时,首先会在相邻节点之间查找是否有符合申请大小的内存空间,如果符合,则优先使用此空间,否则就在后端连续的未使用的内存区域分配空间。
相关文章推荐
- eclipse编码
- Ubuntu 14.04 下的MAC OS X 主题安装
- SenchaExt中的DataView实现table布局效果
- 2015年总结
- Redis和Jedis简单使用示例
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- 云计算公司如何打败亚马逊AWS?
- android应用清除应用缓存原理
- redis性能测试tcp socket and unix domain
- 所有依赖的jar将提取到lib目录
- centos 6.5安装vncserver 并开启远程桌面
- 第四章 INI配置——《跟我学Shiro》
- linux_grub引导修复问题
- J2EE中的13种技术规范
- Java内部类详解
- launchMode
- 计算几何,代码开头
- SenchaTouch设置一个容器为悬浮状态
- IntelliJ IDEA 的 20 个代码自动完成的特性
- 【SQL Server】导出一张表的建表语句、查询某表的列(字段)名