[发明专利]内存处理方法、装置、电子设备及存储介质在审
申请号: | 202111481083.7 | 申请日: | 2021-12-06 |
公开(公告)号: | CN114296733A | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 刘思 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 处理 方法 装置 电子设备 存储 介质 | ||
本公开关于一种内存处理方法、装置、电子设备及存储介质,涉及计算机技术领域,以至少解决相关技术中使用不同程序语言设计内存回收算法,学习成本高的问题。该方法包括:响应于内存回收算法获取请求,确定当前内存回收算法为基于自动引用计数的回收算法或基于追踪的回收算法中的一种回收算法;基于自动引用计数的回收算法与基于追踪的回收算法采用同一种程序设计语言设计,响应于内存回收算法切换请求,将当前内存回收算法切换为基于自动引用计数的回收算法或者基于追踪的回收算法中的另一种回收算法;根据切换后的内存回收算法处理被占用的内存块。
技术领域
本公开涉及计算机技术领域,尤其涉及一种内存处理方法、装置、电子设备及存储介质。
背景技术
垃圾回收(garbage collection,GC)是编程语言中的自动内存处理机制,在应用程序占用的内存空间不再被访问时,应用程序可以通过垃圾回收算法释放该被占用的内存空间。
相关技术中,对于内存空间的回收包括基于自动引用计数(automatic referencecounting,ARC)的垃圾回收算法,以及基于追踪Tracing的垃圾回收算法。基于ARC的垃圾回收算法和基于Tracing的垃圾回收算法应用于不同的编程语言,如在Java程序中通常使用基于Tracing的垃圾回收算法释放占用的内存,而在Swift程序中通常使用基于ARC的垃圾回收算法释放占用的内存,因此这些垃圾回收算法应用于不同的场景,提高了用户设计内存回收算法的学习成本。
发明内容
本公开提供一种内存处理方法、装置、电子设备及存储介质,以至少解决相关技术中使用不同程序语言设计内存回收算法,学习成本高的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种内存处理方法,包括:
响应于内存回收算法获取请求,确定当前内存回收算法为基于自动引用计数的回收算法或者基于追踪的回收算法中的一种回收算法;基于自动引用计数的回收算法与基于追踪的回收算法采用同一种程序设计语言设计,基于自动引用计数的回收算法通过引用计数实现对内存块的回收处理;基于追踪的回收算法通过确定每个内存块的占用状态实现对内存块的回收处理;
响应于内存回收算法切换请求,将当前内存回收算法切换为基于自动引用计数的回收算法或者基于追踪的回收算法中的另一种回收算法;
根据切换后的内存回收算法处理被占用的内存块。
可选的,当切换后的内存回收算法为基于自动引用计数的回收算法时,基于自动引用计数的回收算法包括第一引用指示,第一引用指示用于指示目标内存块被引用的引用次数;根据切换后的内存回收算法处理被占用的内存块,包括:
在每新增一个对目标内存块的第一引用的情况下,对第一引用指示的引用次数加1;目标内存块为程序运行中建立的内存对象,用于存储程序的运算数据;
在每解除一个对目标内存块的第一引用的情况下,对第一引用指示的引用次数减1;
在第一引用指示的引用次数为0的情况下,释放被目标内存块占用的内存。
可选的,基于自动引用计数的回收算法还包括第二引用指示,第二引用指示用于指示被引用的目标内存块的地址;根据切换后的内存回收算法处理被占用的内存块,包括:
在每新增一个对目标内存块的第二引用的情况下,对第二引用指示的引用次数加1;
在每解除一个对目标内存块的第二引用的情况下,对第二引用指示的引用次数减1;
在第二引用指示的引用次数为0的情况下,释放第二引用指示对应的地址内存块占用的内存;地址内存块用于存储第二引用指示指向的内存块地址。
可选的,当切换后的内存回收算法为基于追踪的回收算法时,根据切换后的内存回收算法处理被占用的内存块,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111481083.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种海管封头通过托管架的方法
- 下一篇:文本数据处理方法、设备和存储介质