发明名称 | 一种内存垃圾收集器中对象状态的阶段式跟踪记录方法 | ||
摘要 | 本发明提出一种内存垃圾收集器中对象状态的阶段式跟踪记录方法,属于编译器软件和运行时系统技术领域,包括内存垃圾收集器完成当前的内存垃圾收集任务后,在阶段记录表中新增1个阶段记录、判断内存垃圾收集器程序是否申请创建了新的对象、判断内存垃圾收集器是否移动了已有对象以及判断内存垃圾收集器是否释放了已有对象等步骤。本发明在内存垃圾收集器中建立一种针对每个对象生存周期和生存状态的阶段式跟踪记录机制,这种方法和机制目前不存在于任何内存垃圾收集器中;且所记录的对象状态信息充分全面,阶段式跟踪记录方法对程序运行效率的影响较小;对内存的占用和消耗较低。 | ||
申请公布号 | CN102722445A | 申请公布日期 | 2012.10.10 |
申请号 | CN201210185142.0 | 申请日期 | 2012.06.06 |
申请人 | 北京航空航天大学 | 发明人 | 史晓华;孙清越 |
分类号 | G06F12/02(2006.01)I | 主分类号 | G06F12/02(2006.01)I |
代理机构 | 北京永创新实专利事务所 11121 | 代理人 | 官汉增 |
主权项 | 一种内存垃圾收集器中对象状态的阶段式跟踪记录方法,其特征在于:包括以下几个步骤:步骤一:内存垃圾收集器完成当前的内存垃圾收集任务后,在阶段记录表中新增1个阶段记录;步骤二:判断从上一次内存垃圾收集器执行完内存垃圾收集任务到本次执行完内存垃圾收集任务的过程中,内存垃圾收集器程序是否申请创建了新的对象,如果是,为每个新增对象Ox在阶段记录表的当前阶段记录中增加一个新项为“对象Ox:新申请”,如果不是,进入步骤三;Ox表示当前新增对象;步骤三:判断从上一次内存垃圾收集器执行完内存垃圾收集任务到本次执行完内存垃圾收集任务的过程中,内存垃圾收集器是否移动了已有对象,如果是,为每个被移动对象Oy在阶段记录表的当前阶段记录中增加一个新项为“对象Oy:移动”,如果不是,进入步骤四;Oy表示当前被移动对象;步骤四:判断从上一次内存垃圾收集器执行完内存垃圾收集任务到本次执行完内存垃圾收集任务的过程中,内存垃圾收集器是否释放了已有对象,如果是,为每个被释放对象Oz在阶段记录表的当前阶段记录中增加一个新项为“对象Oz:释放”,如果不是则结束;Oz表示当前被释放对象。 | ||
地址 | 100191 北京市海淀区学院路37号 |