[发明专利]用于有效资源回收的延迟损毁在审
| 申请号: | 202010533190.9 | 申请日: | 2015-03-11 |
| 公开(公告)号: | CN111708714A | 公开(公告)日: | 2020-09-25 |
| 发明(设计)人: | D·R·谢里顿 | 申请(专利权)人: | 奥普塔姆软件股份有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F11/14 |
| 代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 陈岚 |
| 地址: | 美国加利*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 有效 资源 回收 延迟 损毁 | ||
1.一种方法,包括:
执行具有多个对象的过程,其中在到达回收点之前:
多个对象中的至少一个对象具有持久引用和暂时引用;
所述持久引用用于确定对象的引用计数;以及
在确定对象的引用计数时不使用暂时引用;
维持损毁列表;
到达回收点,在所述回收点处,多个对象中的一个对象或者不具有暂时引用、或者仅在一个或多个已知位置处具有一个或多个暂时引用;以及
当到达回收点时,使用所述损毁列表处理所述损毁列表上的对象,包括检查在已知位置处是否存在对所述损毁列表上的对象的暂时引用。
2.根据权利要求1所述的方法,其中处理所述损毁列表上的对象进一步包括仅是在所述已知位置处没有对所述对象的暂时引用的情况下才损毁所述损毁列表上的对象。
3.根据权利要求1所述的方法,其中维持损毁列表包括:
确定所述多个对象中的一个对象的持久引用计数已达到0;以及
将对所述对象的引用添加到所述损毁列表中。
4.根据权利要求1所述的方法,其中处理所述损毁列表上的对象包括移除未被引用的对象。
5.根据权利要求1所述的方法,进一步包括:
确定是否已将引用添加到所述损毁列表中的对象中;以及
响应于已将引用添加到所述损毁列表中的对象中的确定,从所述损毁列表中移除所述引用的对象。
6.根据权利要求1所述的方法,其中在栅障处到达所述回收点,所述栅障使多个线程在所述栅障处等待,并且所述方法进一步包括,在所述栅障处,移除未被引用的对象。
7.如权利要求1所述的方法,进一步包括执行逃逸分析,并且基于所述逃逸分析的结果,将在堆上分配的对象转换为在栈上分配的对象。
8.根据权利要求1所述的方法,其中响应于内存储备库正被所述过程使用而触发到达所述回收点。
9.根据权利要求1所述的方法,进一步包括:
响应于将所述多个对象中的至少一个对象的属性设置为终止,触发从收集中删除所述至少一个对象。
10.一种系统,包括:
一个或多个存储器,用于存储一个过程的多个对象;和
与所述一个或多个存储器耦合的一个或多个处理器,以用于:
执行具有所述多个对象的过程,其中在到达回收点之前:
多个对象中的至少一个对象具有持久引用和暂时引用;
所述持久引用用于确定对象的引用计数;以及
在确定对象的引用计数时不使用暂时引用;
维持损毁列表;
到达回收点,在所述回收点处,多个对象中的一个对象或者不具有暂时引用、或仅在一个或多个已知位置处具有一个或多个暂时引用;以及
当到达回收点时,使用所述损毁列表处理所述损毁列表上的对象,包括检查在已知位置处是否存在对所述损毁列表上的对象的暂时引用。
11.根据权利要求10所述的系统,其中处理所述损毁列表上的对象进一步包括仅是在所述已知位置处没有对所述对象的暂时引用的情况下才损毁所述损毁列表上的对象。
12.根据权利要求10所述的系统,其中维持损毁列表包括:
确定所述多个对象中的一个对象的持久引用计数已达到0;以及
将对所述对象的引用添加到所述损毁列表中。
13.根据权利要求10所述的系统,其中处理所述损毁列表上的对象包括移除所述损毁列表中的对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奥普塔姆软件股份有限公司,未经奥普塔姆软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010533190.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型多芯数光纤连接器
- 下一篇:一种硅负极材料及其制备方法





