【技术实现步骤摘要】
内存分配方法、装置、计算机设备和存储介质
[0001]本公开涉及计算机
,具体而言,涉及一种内存分配方法、装置、计算机设备和存储介质。
技术介绍
[0002]内存管理作为在软件运行时对计算机内存资源进行分配和使用的技术,开发人员在开发软件时,需要使用内存管理技术为正在开发的软件分配内存以保证其可以正常运行,具体的,可以直接通过调用计算机系统应用程序接口API为其分配内存。并在内存使用完毕时,对内存进行释放。
[0003]但直接调用API进行分配内存的方式,分配效率较低,并且当用户存在连续多次申请小内存时,可能造成计算机系统中部分内存因已被分配的内存的影响而无法使用的情况,从而产生内存碎片,降低了计算机系统中内存的使用率和内存分配的效率。
技术实现思路
[0004]本公开实施例至少提供一种内存分配方法、装置、装置、计算机设备和存储介质,以提高内存的使用率和内存分配的效率。
[0005]第一方面,本公开实施例提供了一种内存分配方法,包括:
[0006]基于用户申请使用的内存空间的字节 ...
【技术保护点】
【技术特征摘要】
1.一种内存分配方法,其特征在于,包括:基于用户申请使用的内存空间的字节数,确定待分配给用户的内存空间的目标字节数;在所述目标字节数小于预设阈值时,从已经申请得到的内存区域中为所述用户分配内存空间;在所述目标字节数大于预设阈值时,从计算机系统中的未分配的内存中为所述用户分配内存空间。2.根据权利要求1所述的方法,其特征在于,所述内存区域包括多个内存链表,不同内存链表中记录具有不同字节数的内存块的状态信息;所述在所述目标字节数小于预设阈值时,从已经申请得到的内存区域中为所述用户分配内存空间,包括:基于所述目标字节数,从所述多个内存链表中筛选目标链表;基于所述目标链表和所述目标字节数,从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间。3.根据权利要求2所述的方法,其特征在于,所述基于所述目标链表和所述目标字节数,从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间,包括:确定所述目标链表对应的内存块的总内存字节数和空闲内存字节数;基于所述总内存字节数、所述空闲内存字节数和所述目标字节数,从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间。4.根据权利要求3所述的方法,其特征在于,所述基于所述总内存字节数、所述空闲内存字节数和所述目标字节数,从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间,包括:在确定所述目标字节数大于所述空闲内存字节数的情况下,确定所述总内存字节数是否不小于第一目标内存字节数;若否,则从所述未分配的内存中申请第一预设字节数的内存区域,并在所述目标链表中记录所述第一预设字节数的内存区域对应的内存块的状态信息;从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间。5.根据权利要求4所述的方法,其特征在于,所述从所述目标链表对应的内存块中为所述用户分配不小于所述目标字节数的内存空间,包括:基于所述目标链表对应的内存块中的第一指针,确定所述目标链表对应的首个空闲内存块;基于所述首个空闲内存块,从所述目标链表对应的空闲内存块中为所述用户分配不小于所述目标字节数的内存空间。6.根据权利要求5所述的方法,其特征在于,所述基于所述首个空闲内存块,从所述目标链表对应的空闲内存块中为所述用户分配不小于所述目标字节数的内存空间,包括:在所述目标字节数大于所述首个空闲内存块中的字节数的情况下,基于所述目...
【专利技术属性】
技术研发人员:刘煊,
申请(专利权)人:北京高途云集教育科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。