一种堆内存管理方法及装置与流程

文档序号:24751626发布日期:2021-04-20 23:44阅读:来源:国知局

技术特征:
1.一种堆内存管理方法,其特征在于,包括:获取空闲内存块链表;所述空闲内存块链表任一结点存储了该结点对应内存块的大小;所述空闲内存块链表中各结点是按照预设规则排列的;按照预设顺序查找所述各结点对应内存块的大小,确定堆内存中的第一目标内存块;所述预设顺序是根据所述预设规则确定的;所述第一目标内存块为:所述堆内存中不小于待分配内存空间的最小内存块;若所述第一目标内存块的空间与所述待分配内存空间的第一差值不大于第一阈值,则将所述第一目标内存块作为分配的内存块。2.如权利要求1所述的方法,其特征在于,还包括:若所述第一差值不小于第二阈值,则将所述第一目标内存块切分为第一子目标内存块和第二子目标内存块;所述第二阈值大于所述第一阈值;所述第一子目标内存块的空间与所述待分配内存空间的差值不大于所述第一阈值;将所述第一子目标内存块作为分配的内存块。3.如权利要求2所述的方法,其特征在于,还包括:若所述第一差值大于所述第一阈值且小于第二阈值,则按照所述预设顺序查找所述各结点对应内存块的大小,确定所述堆内存中的第二目标内存块;所述第二目标内存块为:所述堆内存中与待分配内存空间的第二差值不小于所述第二阈值的最小内存块;将所述第二目标内存块作为所述第一目标内存块,返回将所述第一目标内存块切分为第一子目标内存块和第二子目标内存块的步骤。4.如权利要求2所述的方法,其特征在于,所述第一子目标内存块的空间等于所述待分配内存空间。5.如权利要求1所述的方法,其特征在于,所述预设规则具体为:按照所述各结点对应的内存块大小排列所述各结点的顺序。6.如权利要求5所述的方法,其特征在于,当所述各结点的顺序为按照所述各结点对应的内存块大小从大到小排列时,所述预设顺序具体为从所述空闲内存块链表的尾结点依次向首结点查找;当所述各结点的顺序为按照所述各结点对应的内存块大小从小到大排列时,所述预设顺序具体为从所述空闲内存块链表的首结点依次向尾结点查找。7.如权利要求1至6任一项所述的方法,其特征在于,还包括:获取内存块总链表;所述内存块总链表按照各内存块的地址顺序依次存储了所述各内存块的大小;针对所述内存块总链表任一结点,在该结点所对应的内存块释放时,若该结点的前一结点的内存块和\或该结点的后一结点的内存块未使用,则合并该结点的内存块、所述前一结点的内存块和\或所述后一结点的内存块,从而更新所述内存块总链表。8.一种堆内存管理装置,其特征在于,包括:获取模块,用于获取空闲内存块链表;所述空闲内存块链表任一结点存储了该结点对应内存块的大小;所述空闲内存块链表中各结点是按照预设规则排列的;查找模块,用于按照预设顺序查找所述各结点对应内存块的大小,确定堆内存中的第一目标内存块;所述预设顺序是根据所述预设规则确定的;所述第一目标内存块为:所述堆
内存中不小于待分配内存空间的最小内存块;处理模块,用于若所述第一目标内存块的空间与所述待分配内存空间的第一差值不大于第一阈值,则将所述第一目标内存块作为分配的内存块。9.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。10.一种计算机可读存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至7中任意一项所述的方法被执行。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1