【技术实现步骤摘要】
一种内存管理的方法、装置、电子设备及存储介质
本专利技术涉及数据存储
,特别是涉及一种内存管理的方法、装置、电子设备及存储介质。
技术介绍
目前为了保证对内存中的数据节点的查询和更新的高效性,可以采用红黑树的模式在内存中缓存数据节点。当存在数据的插入时,可以申请内存,在申请的内存中创建数据节点;当数据被删除时,可以释放数据节点占用的内存。数据的插入和删除会使得内存被频繁地申请和释放。在数据库长期运行后,内存被频繁地申请和释放会使得内存中存在大量的内存碎片,因内存碎片较小,且在内存中不连续,导致这些内存碎片无法被使用,造成了内存资源的浪费。
技术实现思路
本专利技术实施例的目的在于提供一种内存管理的方法、装置、电子设备及存储介质,以避免内存资源的浪费。具体技术方案如下:第一方面,本申请实施例提供一种内存管理的方法,包括:当红黑树包括的第一节点被删除时,确定所述第一节点在预设内存池中占用的第一内存空间,所述预设内存池用于存储所述红黑树包括的节点,所述第一节点为所述红黑树包括的任一节点;将所述第一内存空间挂载到预设可利用空间表。在一种可能的实现方式中,所述预设可利用空间表为双链表;所述将所述第一内存空间挂载到预设可利用空间表,包括:获取所述第一节点的左子节点指针和右子节点指针,所述左子节点指针指向所述第一节点的左子节点在所述预设内存池中的起始地址,所述右子节点指针指向所述第一节点的右子节点在所述预设内存池中的起始地址;将所述左子节点指针的指向 ...
【技术保护点】
1.一种内存管理的方法,其特征在于,包括:/n当红黑树包括的第一节点被删除时,确定所述第一节点在预设内存池中占用的第一内存空间,所述预设内存池用于存储所述红黑树包括的节点,所述第一节点为所述红黑树包括的任一节点;/n将所述第一内存空间挂载到预设可利用空间表。/n
【技术特征摘要】
1.一种内存管理的方法,其特征在于,包括:
当红黑树包括的第一节点被删除时,确定所述第一节点在预设内存池中占用的第一内存空间,所述预设内存池用于存储所述红黑树包括的节点,所述第一节点为所述红黑树包括的任一节点;
将所述第一内存空间挂载到预设可利用空间表。
2.根据权利要求1所述的方法,其特征在于,所述预设可利用空间表为双链表;所述将所述第一内存空间挂载到预设可利用空间表,包括:
获取所述第一节点的左子节点指针和右子节点指针,所述左子节点指针指向所述第一节点的左子节点在所述预设内存池中的起始地址,所述右子节点指针指向所述第一节点的右子节点在所述预设内存池中的起始地址;
将所述左子节点指针的指向修改为:最新挂载至所述预设可利用空间表中的内存空间在所述预设内存池中的起始地址,将所述右子节点指针的指向置为空;
将最新挂载至所述预设可利用空间表中的内存空间的后指针的指向修改为所述第一内存空间在所述预设内存池中的起始地址;
将所述第一内存空间挂载到所述预设可利用空间表,将所述左子节点指针作为所述第一内存空间的前指针,将所述右子节点指针作为所述第一内存空间的后指针。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当所述红黑树中插入第二节点时,从所述预设内存池中为所述第二节点分配内存空间;
若所述预设内存池中无可用内存空间,则从所述预设可利用空间表中为所述第二节点分配第二内存空间;
在所述第二内存空间中存储所述第二节点;
将所述第二内存空间从所述预设可利用空间表中卸载。
4.根据权利要求3所述的方法,其特征在于,所述在所述第二内存空间中存储所述第二节点,包括:
获取所述第二内存空间的前指针和后指针;
将所述第二内存空间的前指针的指向修改为:所述第二节点的左子节点在所述预设内存池中的起始地址,将所述第二内存空间的后指针的指向修改为:所述第二节点的右子节点在所述预设内存池中的起始地址;
在所述第二内存空间中存储所述第二节点的数据,并将所述第二内存空间的前指针作为所述第二节点的左子节点指针,将所述第二内存空间的后指针作为所述第二节点的右子节点指针。
5.一种内存管理的装置,其特征在于,包括:
确定模块,用于当红黑树包括的第一节点被删除时,确定所述第一节点在预设内存池中占用的第一内存空间,所述预设内存池用于存储所述红黑树包括的节点,所述第一节点为所述红黑树包括的任一节...
【专利技术属性】
技术研发人员:邱海港,
申请(专利权)人:北京金山云网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。