[发明专利]垃圾回收的优化方法、装置、终端设备及机器可读介质在审
申请号: | 201811103427.9 | 申请日: | 2018-09-20 |
公开(公告)号: | CN110928804A | 公开(公告)日: | 2020-03-27 |
发明(设计)人: | 余超君;曹闻世;金一华 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 冀晓恺 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 垃圾 回收 优化 方法 装置 终端设备 机器 可读 介质 | ||
1.一种垃圾回收的优化方法,其特征在于,包括:
在回收内存管理单元前,判断文件包含的多个第一对象是否引用了所述文件所在的指定区域以外的第二对象,其中所述指定区域位于所述内存管理单元中;
在确定其中一个或多个第一对象引用所述指定区域以外的第二对象的情况下,记录所述第二对象的地址;
确定所述指定区域以及所述第二对象所在的地址为非回收区域。
2.根据权利要求1所述的方法,其特征在于,所述文件为提前编译文件。
3.根据权利要求1所述的方法,其特征在于,记录所述第二对象的地址之后,所述方法还包括:
在回收所述内存管理单元的情况下,依据所述第二对象的地址确定所述第二对象的子对象;
确定所述第二对象的子对象所在的地址为非回收区域。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
遍历所述内存管理单元中的其他对象,判断所述其他对象是否包括非回收对象。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
回收所述内存管理单元中的所述非回收对象所在的区域以外的其他区域。
6.根据权利要求1所述的方法,其特征在于,所述判断所述文件包含的第一对象是否引用了所述文件所在的指定区域以外的第二对象,包括:
分别判断所述文件包括的多个第一对象的指针是否指向所述指定区域以外的区域;
在确定所述指针指向所述指定区域以外的区域的情况下,确定所述第一对象引用了指定区域以外的第二对象。
7.根据权利要求1所述的方法,其特征在于,所述确定所述文件包含的第一对象是否引用了所述文件所在的指定区域以外的第二对象,包括:
在对所述文件中的第一对象的地址进行修改时,判断修改后的第一对象的地址是否位于所述指定区域以外的区域;
在确定修改后的第一对象的地址位于所述指定区域以外的区域情况下,确定所述第一对象引用了指定区域以外的第二对象。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据源程序生成编译数据;
将所述编译数据链接至内存管理单元;
依据链接至内存管理单元中的编译数据生成提前编译文件。
9.根据权利要求2所述的方法,其特征在于,所述回收内存管理单元前包括:
在将源程序对应的提前编译文件加载至内存管理单元的指定区域的过程中,和/或,
运行源程序的过程中。
10.根据权利要求3所述的方法,其特征在于,所述依据所述第二对象的地址确定所述第二对象的子对象的步骤包括:
以所述第一对象中指向所述第二对象的指针作为根节点,遍历获得所述第二对象的子对象。
11.一种垃圾回收的优化方法,其特征在于,包括:
判断文件包含的多个第一对象是否引用了文件所在的指定区域以外的第二对象;
在确定其中一个或多个第一对象引用所述指定区域以外的第二对象的情况下,记录所述第二对象的地址;
确定所述指定区域以及所述第二对象所在的地址为非回收区域。
12.根据权利要求11所述的方法,其特征在于,所述文件为提前编译文件。
13.根据权利要求11所述的方法,其特征在于,所述记录第二对象的地址之后,所述方法还包括:
依据所述第二对象的地址确定所述第二对象的子对象;
确定所述第二对象的子对象所在的地址为非回收区域。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811103427.9/1.html,转载请声明来源钻瓜专利网。