发明名称 基于Java虚拟机的并发垃圾收集器框架
摘要 本发明属于Java虚拟机垃圾回收器技术领域,具体涉及一种基于Java虚拟机的并发垃圾回收器框架。该框架分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器主要有两个方面的作用:决定何时触发GC,处理系统资源耗尽的情况。本发明增加了并行垃圾收集技术的平台可移植性,解决了在同一平台下实验不同并行垃圾收集技术的问题,可以在一个特定的平台下研究不同并行垃圾收集技术的优劣性。
申请公布号 CN102023891A 申请公布日期 2011.04.20
申请号 CN201010595749.7 申请日期 2010.12.20
申请人 复旦大学 发明人 杨珉;王迪;周寻;张源;臧斌宇
分类号 G06F9/46(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 上海正旦专利代理有限公司 31200 代理人 陆飞;盛志范
主权项 一种基于Java虚拟机的并发垃圾收集器框架 ,其特征在于该框架分为并发算法框架和调度器两个模块两个部分,其中,所述并发算法框架,在设计上主要通过对当前存在的并发垃圾收集算法来进行差异分析,最终划分算法中便于重用和不能重用的模块,并且针对不同的特性分别进行实现;现有的框架中又把整个并发算法框架分成核心算法实现、数据并行处理和合并、并发收集这三个模块;所述调度器主要由调度触发器、调度算法、耗尽处理三个模块组成;该调度器而言,主要有两个方面的作用:第一,决定何时触发GC;第二,处理系统资源耗尽的情况;按照系统资源耗尽发生的时刻段,把耗尽情况分成三种:一体发生在应用程序运行中,垃圾收集线程没有启动;发生在垃圾收集线程启动后的跟踪阶段;以及发生在垃圾收集线程启动后的收集清理阶段;调度器对这三种情况分别进行处理:对于第一种情况,只把所有的线程都停下来,做一次“停止世界”的垃圾收集过程,之后再让程序继续运行;当系统资源耗尽出现在垃圾收集线程启动后的跟踪阶段,调度器停掉其他应用程序的线程,让垃圾收集线程把跟踪阶段完成,先得到对象跟踪信息;之后用这个对象跟踪信息做一次“停止世界”的垃圾收集过程来释放内存;对于系统资源耗尽出现在垃圾收集线程启动后的收集清理阶段,调度器只停掉其他应用程序的线程,让垃圾收集线程把收集清理阶段完成。
地址 200433 上海市杨浦区邯郸路220号