[发明专利]对象处理方法、装置、存储介质及计算机设备在审
申请号: | 202011440453.8 | 申请日: | 2020-12-10 |
公开(公告)号: | CN114625522A | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 陈伟杰 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 远明 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 对象 处理 方法 装置 存储 介质 计算机 设备 | ||
1.一种对象处理方法,其特征在于,包括:
子进程获取可收集对象,并向执行父进程的计算机设备申请独立于所述父进程所享内存空间的内存空间;
根据所述可收集对象的被引用状况在所述内存空间内建立表格;
根据所述表格确定不可达对象,并将所述不可达对象发送至所述父进程,以供所述父进程对所述不可达对象进行回收。
2.如权利要求1所述的对象处理方法,其特征在于,所述根据所述可收集对象的被引用状况在所述内存空间内建立表格,包括:
获取所述可收集对象的引用计数;
根据所述可收集对象的引用计数,建立所述可收集对象和所述引用计数的对应关系并以表格的形式存储于所述内存空间中。
3.如权利要求2所述的对象处理方法,其特征在于,所述根据所述表格确定不可达对象,包括:
将所述可收集对象所引用的可收集对象在所述表格中的引用计数均减一;
根据所述表格中减一后的引用计数确定不可达对象集合,并将所述不可达对象集合中的全部可收集对象确定为不可达对象。
4.如权利要求3所述的对象处理方法,其特征在于,所述根据所述表格中减一后的引用计数确定不可达对象集合,包括:
根据所述表格中减一后的引用计数和根对象确定不可达对象集合。
5.如权利要求4所述的对象处理方法,其特征在于,所述根据所述表格中减一后的引用计数和根对象确定不可达对象集合,包括:
根据所述表格中减一后的引用计数确定目标集合;
根据所述目标集合和根对象确定不可达对象集合。
6.如权利要求5所述的对象处理方法,其特征在于,所述根据所述表格中减一后的引用计数确定目标集合,包括:
将所述表格中减一后的引用计数为零的全部可收集对象确定为初始集合;
判断第一对象是否在所述初始集合中,所述第一对象为所述表格中减一后的引用计数不为零的可收集对象所引用的对象;
若所述第一对象在所述初始集合中,则将所述第一对象从所述初始集合中移除,以得到目标集合。
7.如权利要求5所述的对象处理方法,其特征在于,所述根据所述目标集合和根对象确定不可达对象集合,包括:
若所述目标集合中存在被根对象所引用的第二对象,则将所述第二对象从所述目标集合中移除;
将移除后的所述目标集合确定为不可达对象集合。
8.如权利要求1所述的对象处理方法,其特征在于,所述可收集对象包括年轻代回收对象、中年代回收对象和老年代回收对象,且所有所述年轻代回收对象存储在第一链表中,所述中年代回收对象存储在第二链表中,所述老年代回收对象存储在第三链表中,所述子进程获取可收集对象,包括:
获取所述第一链表的第一地址;
根据所述第一地址计算出第二链表的第二地址和所述第三链表的第三地址;
根据第一地址、第二地址和第三地址获取所述第一链表、第二链表、第三链表中的所有年轻代回收对象、中年代回收对象和老年代回收对象,以得到所有可收集对象。
9.如权利要求1所述的对象处理方法,其特征在于,所述对象处理方法还包括:
当所述父进程接收到所述不可达对象时,对所述不可达对象进行回收。
10.如权利要求1所述的对象处理方法,其特征在于,在所述子进程获取可收集对象,并向执行父进程的计算机设备申请不与所述父进程共享的内存空间之前,还包括:
以进行垃圾回收的应用程序为所述父进程,复刻生成一个所述子进程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011440453.8/1.html,转载请声明来源钻瓜专利网。