System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 内存管理方法、装置、电子设备及可读存储介质制造方法及图纸_技高网

内存管理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:40579709 阅读:10 留言:0更新日期:2024-03-06 17:22
本发明专利技术提供了一种内存管理方法、装置、电子设备及可读存储介质,包括:在内存的对象集合中,根据数据对象之间的引用关系,分别对对象集合中的各数据对象分别进行遍历;针对遍历过程中当前遍历到的第一对象,为第一对象分配内存片区,并将用于复制第一对象至内存片区的复制任务同步发送至加速器进行执行;从第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至对象集合遍历完毕;将对象集合中未被遍历到的第二对象对应的占用内存进行释放,本发明专利技术通过对象复制和对象遍历的并行执行,有效降低了处理器在垃圾回收过程中大量对象复制任务的开销,也同时提高了垃圾回收的整体执行效率。

【技术实现步骤摘要】

本专利技术涉及计算机,尤其涉及一种内存管理方法、装置、电子设备及可读存储介质


技术介绍

1、垃圾回收(gc,garbage collection)也称为自动内存管理,能够在剩余的内存空间无法满足继续分配新数据对象所需的空间时,搜寻失效的数据对象进行对应内存空间的释放。

2、目前,垃圾回收在遍历到一个存活的数据对象时,可以将该存活数据对象复制到新内存空间,复制完成后,再进行该存活数据对象的字段遍历,以找出用于确定下一存活数据对象的引用字段,直至遍历结束后,针对从未遍历到的某个数据对象,表征这个数据对象是失效的,则证明此数据对象是不可能再被使用的,需要被回收。

3、相关技术中,数据对象需要在复制完成后再执行遍历,导致垃圾回收的执行效率低下。


技术实现思路

1、鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种内存管理方法、装置、电子设备及可读存储介质。

2、第一方面,本专利技术实施例公开了一种内存管理方法,应用于处理器,所述方法包括:

3、在所述内存的对象集合中,根据数据对象之间的引用关系,对所述对象集合中的各数据对象分别进行遍历;

4、针对遍历过程中当前遍历到的第一对象,为所述第一对象分配内存片区,并将用于复制所述第一对象至所述内存片区的复制任务同步发送至加速器进行执行;所述加速器集成于搭载所述处理器的电子设备中;

5、从所述第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至所述对象集合遍历完毕;

6、将所述对象集合中未被遍历到的第二对象对应的占用内存进行释放。

7、第二方面,本专利技术实施例公开了一种内存管理装置,应用于处理器,所述装置包括:

8、遍历模块,用于在所述内存的对象集合中,根据数据对象之间的引用关系,对所述对象集合中的各数据对象分别进行遍历;

9、复制模块,针对遍历过程中当前遍历到的第一对象,为所述第一对象分配内存片区,并将用于复制所述第一对象至所述内存片区的复制任务同步发送至加速器进行执行;所述加速器集成于搭载所述处理器的电子设备中;

10、结束模块,引用从所述第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至所述对象集合遍历完毕;

11、释放模块,用于将所述对象集合中未被遍历到的第二对象对应的占用内存进行释放。

12、第三方面,本专利技术实施例还公开了一种电子设备,包括有处理器;以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序包含用于进行以下操作的指令:

13、在内存的对象集合中,根据数据对象之间的引用关系,对所述对象集合中的各数据对象分别进行遍历;

14、针对遍历过程中当前遍历到的第一对象,为所述第一对象分配内存片区,并将用于复制所述第一对象至所述内存片区的复制任务同步发送至加速器进行执行;所述加速器集成于搭载所述处理器的电子设备中;

15、从所述第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至所述对象集合遍历完毕;

16、将所述对象集合中未被遍历到的第二对象对应的占用内存进行释放。

17、第四方面,本专利技术实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面方法。

18、本专利技术实施例中,在电子设备中集成加速器,处理器在生成用于复制第一对象至分配的内存片区的复制任务后,会将复制任务发送至加速器进行加速执行。在加速器执行复制任务的同时,处理器并行地从当前第一对象开始继续遍历后续的第一对象,这样便打破了对象复制和对象遍历的耦合,使得对象遍历无需等待对象复制完成即可执行。本专利技术实施例通过对象复制和对象遍历同步并行执行,有效降低了处理器在垃圾回收过程中大量对象复制任务的开销,也同时提高了垃圾回收的整体执行效率。

本文档来自技高网...

【技术保护点】

1.一种内存管理方法,其特征在于,应用于处理器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从所述第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至所述对象集合遍历完毕,包括:

3.根据权利要求2所述的方法,其特征在于,所述修改与所述复制后第一对象关联的信息,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述为所述第一对象分配内存片区,包括:

7.根据权利要求1所述的方法,其特征在于,所述对所述对象集合中的各数据对象分别进行遍历,包括:

8.一种内存管理装置,其特征在于,应用于处理器,所述装置包括:

9.一种电子设备,其特征在于,包括有处理器;以及一个或者一个以上的程序,其中一个或者一个以上的程序存储于存储器中,且经配置以由一个或者一个以上的处理器执行所述一个或者一个以上的程序包含用于进行以下操作的指令:

10.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7中任一项所述的方法。

...

【技术特征摘要】

1.一种内存管理方法,其特征在于,应用于处理器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述从所述第一对象开始继续遍历,并将当前遍历到的数据对象再次作为第一对象,直至所述对象集合遍历完毕,包括:

3.根据权利要求2所述的方法,其特征在于,所述修改与所述复制后第一对象关联的信息,包括:

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述为所述第一对象分配内存片区,包括:<...

【专利技术属性】
技术研发人员:王雪敖琪
申请(专利权)人:龙芯中科技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1