[发明专利]基于Java虚拟机的并发垃圾收集器框架无效

专利信息
申请号: 201010595749.7 申请日: 2010-12-20
公开(公告)号: CN102023891A 公开(公告)日: 2011-04-20
发明(设计)人: 杨珉;王迪;周寻;张源;臧斌宇 申请(专利权)人: 复旦大学
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 上海正旦专利代理有限公司 31200 代理人: 陆飞;盛志范
地址: 200433 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 java 虚拟机 并发 垃圾 收集 框架
【权利要求书】:

1.一种基于Java虚拟机的并发垃圾收集器框架 ,其特征在于该框架分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;现有的框架中又把整个并发算法框架分成核心算法实现、数据并行处理和合并、并发收集这三个模块;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器而言,主要有两个方面的作用:

第一,决定何时触发GC;

第二,处理系统资源耗尽的情况;按照系统资源耗尽发生的时刻段,把耗尽情况分成三种:一体发生在应用程序运行中,垃圾收集线程没有启动;发生在垃圾收集线程启动后的跟踪阶段;以及发生在垃圾收集线程启动后的收集清理阶段;调度器对这三种情况分别进行处理:

对于第一种情况,只把所有的线程都停下来,做一次“停止世界”的垃圾收集过程,之后再让程序继续运行;

当系统资源耗尽出现在垃圾收集线程启动后的跟踪阶段,调度器停掉其他应用程序的线程,让垃圾收集线程把跟踪阶段完成,先得到对象跟踪信息;之后用这个对象跟踪信息做一次“停止世界”的垃圾收集过程来释放内存;

对于系统资源耗尽出现在垃圾收集线程启动后的收集清理阶段,调度器只停掉其他应用程序的线程,让垃圾收集线程把收集清理阶段完成。

2.一种如权利要求1所述基于Java虚拟机的并发垃圾收集器框架,其特征在于,框架的各个状态之间的转换关系为:

状态①: 应用程序正常运行,每次申请内存空间的操作都会调用GC调度器来检测是否需要触发并发垃圾收集过程,需要的话转到状态②;

状态②: 应用程序线程分别停顿,收集其执行栈上的根节点,放入根节点集合,并打开当前线程的写拦截器;当最后一个线程的根节点集合收集完成后,启动GC线程开始执行追踪过程,转到状态③;

状态③: 追踪过程与应用程序并发的运行,当最后一个GC线程完成追踪过程后,转到状态④;

状态④: 追踪过程完成,当应用程序有新的申请内存操作时会触发并发的收集过程,转到状态⑤;

状态⑤: 收集过程与应用程序并发运行,当最后一个GC线程完成收集过程后转到状态①;

状态⑥: 垃圾收集过程处于状态①、③、⑤时,如果系统堆内存被应用程序耗尽,将进入状态⑥进行系统堆内存耗尽处理,随后转到状态①。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010595749.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top