【技术实现步骤摘要】
一种内存防碎片方法、系统及储存介质
本专利技术涉及计算机
,具体涉及一种内存防碎片方法、系统及存储介质。
技术介绍
现有的堆内存技术是根据实际需要的长度来分配内存块,并且是固定从低地址或高地址依次分配内存块。当待分配的内存块大于实际需要的长度时进行分片,这样,容易导致分片后的内存块内存过小而无法分配或分配失败,使得内存利用率低,还导致内存空间浪费。因此,现有技术还有待发展和改进。
技术实现思路
基于此,有必要针对现有技术中内存块利用率低且浪费空间的技术问题,提供一种内存防碎片方法、系统及存储介质,旨在根据最小内存块阈值确定待分配的空闲内存块是否分割,从而保证每一个空闲内存块均有效使用,提高利用率,同时根据应用场景从低地址或从高地址分配空闲内存块,减少大小空闲内存块夹杂在一起的概率,减少分块操作的执行,提高分配的效率。为了达到上述目的,本专利技术采取了以下技术方案:一种内存防碎片方法,所述内存防碎片方法包括以下步骤:当接收到申请空闲内存块请求指令时,检测终端是否有空闲内 ...
【技术保护点】
1.一种内存防碎片方法,其特征在于,所述内存防碎片方法包括以下步骤:/n当接收到申请空闲内存块请求指令时,检测终端是否有空闲内存块;/n当检测到所述终端有至少一个空闲内存块时,根据所获取的申请长度确定待用空闲内存块以及待用空闲内存块的内存长度;/n当所述待用空闲内存块的内存长度大于所述申请长度,比较所述待用空闲内存块的内存长度与所述申请长度的差值与预设的最小内存块阈值大小以确定所述待用空闲内存块是否被分割;/n若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成两块并使用。/n
【技术特征摘要】
1.一种内存防碎片方法,其特征在于,所述内存防碎片方法包括以下步骤:
当接收到申请空闲内存块请求指令时,检测终端是否有空闲内存块;
当检测到所述终端有至少一个空闲内存块时,根据所获取的申请长度确定待用空闲内存块以及待用空闲内存块的内存长度;
当所述待用空闲内存块的内存长度大于所述申请长度,比较所述待用空闲内存块的内存长度与所述申请长度的差值与预设的最小内存块阈值大小以确定所述待用空闲内存块是否被分割;
若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成两块并使用。
2.根据权利要求1所述的内存防碎片方法,其特征在于,还包括:
若所述待用空闲内存块的内存长度与所述申请长度的差值小于预设的最小内存块阈值,则所述待用空闲内存块不分割并使用所述待用空闲内存块。
3.根据权利要求1所述的内存防碎片方法,其特征在于,所述若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成两块并使用具体包括:
若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成第一空闲内存块和第二空闲内存块;其中,所述第二空闲内存块的内存长度=分割前所述待用空闲内存块的内存长度-申请长度;
使用所述第一空闲内存块并更新所述第一空闲内存块的状态为busy状态。
4.根据权利要求3所述的内存防碎片方法,其特征在于,所述若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成两块并使用之后包括:
实时检测是否接收到释放当前正使用的空闲内存块请求指令;
当检测到接收到释放当前正使用的空闲内存块请求指令时,释放所述第一空闲内存块并更新所述第一空闲内存块的状态为空状态。
5.根据权利要求4所述的内存防碎片方法,其特征在于,所述若所述待用空闲内存块的内存长度与所述申请长度的差值大于预设的最小内存块阈值,则将所述待用空闲内存块分割成两...
【专利技术属性】
技术研发人员:谭冰,孟庆晓,吴闽华,
申请(专利权)人:深圳震有科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。