垃圾收集系统技术方案

技术编号:2854114 阅读:226 留言:0更新日期:2012-04-11 18:40
本发明专利技术目的在于不会加长AP的所有线程停止期间,并抑制垃圾收集所需时间的增加,在由多个线程构成的面向对象的程序的执行过程中,具备:按照顺序选择多个线程的选择单元;实施如下检查处理的检查单元,该检查处理为停止被选择线程的执行、从该线程检出可以访问的对象并作为非释放对象进行管理、重新开始该线程的执行;检测单元,在上述选择单元进行的上述选择开始之后,在通过执行中的线程检测到对象指针被作为处理对象的情况下,将该对象指针所指示的对象作为非释放对象进行管理;释放单元,对于所有的上述多个线程,在上述检查处理结束之后,释放除作为非释放对象进行管理的对象之外的对象所对应的存储区域。(*该技术在2024年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及由应用程序(APApplication Program)所使用的存储器中的垃圾收集(GCGarbage Collection)。
技术介绍
在现有的面向对象的程序语言中,有的采用使AP的创建者意识不到存储区域的分配和释放,在使用AP之后把没用的对象(也叫“对象实例”)所对应的存储区域的释放交给执行环境方的方法。例如Java语言。Java是美国太阳微系统(Sun Microsystems)公司的商标。使用这种语言所记述的AP,在具备垃圾收集(GC)机构的执行环境中工作,这种垃圾收集机构可以自动释放没用的对象所对应的存储区域。GC机构,在执行AP之际动态检测出被分配的对象所对应的存储区没有从任何地方被参照的状态,并释放这个存储区域,使其置于可再利用状态。多线程结构的AP中,各线程分别和堆栈区对应,在动作过程中,或者在堆栈区内存储数据,或者参照存储的数据,或者生成对象。生成对象的情况,通常,在堆栈区内存储其对象的指针,也就是说存储指示其对象在存储器内的所在位置的数据(下面叫作“对象指针”),由线程对对象的访问是参照其对象指针来进行的。而且,通常,在对象的区域内也存储面向其本文档来自技高网...

【技术保护点】
一种垃圾收集系统,在由多个线程构成的面向对象的程序的执行过程中,释放对应于不再需要的对象的存储区域,其特征在于,具备:选择单元,按照顺序选择多个线程中的每一个;检查单元,实施由如下步骤组成的检查处理,这些步骤为:对于被选择的 线程、停止该线程的执行,通过参照对象指针从该线程检出可以访问的对象、把该检出的对象作为非释放对象进行管理,重新开始该线程的执行;检测单元,在通过上述选择单元进行的上述选择开始之后,在通过执行中的线程检测到对象指针被作为处理对象的情况 下,将该对象指针所指示的对象作为非释放对象进行管理;释放单元,在对于所有的上述多个线程的上述检查...

【技术特征摘要】
【国外来华专利技术】JP 2003-6-30 187690/20031.一种垃圾收集系统,在由多个线程构成的面向对象的程序的执行过程中,释放对应于不再需要的对象的存储区域,其特征在于,具备选择单元,按照顺序选择多个线程中的每一个;检查单元,实施由如下步骤组成的检查处理,这些步骤为对于被选择的线程、停止该线程的执行,通过参照对象指针从该线程检出可以访问的对象、把该检出的对象作为非释放对象进行管理,重新开始该线程的执行;检测单元,在通过上述选择单元进行的上述选择开始之后,在通过执行中的线程检测到对象指针被作为处理对象的情况下,将该对象指针所指示的对象作为非释放对象进行管理;释放单元,在对于所有的上述多个线程的上述检查处理结束之后,释放除作为非释放对象进行管理的对象之外的对象所对应的存储区域。2.权利要求1所述的垃圾收集系统,其特征在于,上述检测单元只在对于执行中的线程尚未进行检查处理的情况下进行上述检测;上述检测单元,具备检测部,在进行了上述检测的情况下,将该执行中的线程中的作为处理对象的对象指针、和从该对象指针可以追寻的对象内的对象指针保存在对应于该线程的作业用存储区域中;管理部,在通过上述检查单元使得线程的执行被停止期间,将从对应于该线程的作业用存储区域内的对象指针可以追寻的对象,作为非释放对象进行管理。3.权利要求2所述的垃圾收集系统,其特征在于,在检出对应于被选择的该线程的堆栈内的对象指针所指示的对象是上述可以访问的对象时,重复执行内容为如下步骤的处理,该步骤为检出的该对象尚未作为非释放对象进行管理,并且该对象内只要具有对象指针时,就将该对象指针所指示的对象进一步作为上述可以访问的对象检出;上述选择单元在最初的选择之后,在由上述检查单元进行了上述检查处理之后,只要在上述多个线程之中还存在没有实施上述检查处理的线程,就进行进一步的选择;上述选择单元参照有关各线程的信息,根据预定的线程选择条件,进行上述选择。4.权利要求3所述的垃圾收集系统,其特征在于,上述线程选择条件,包含表示与线程状态是等待状态以外的状态的线程相比,先选择线程状态是等待状态的线程的条件;上述选择单元只要在进行上述选择的时刻存在等待状态的线程,就选择该等待状态的线程。5.权利要求4所述的垃圾收集系统,其特征在于,上述线程选择条件,包含表示与线程优先度高的线程相比,先选择线程优先度低的线程的条件。6.权利要求5所述的垃圾收集系统,其特征在于,上述线程选择条件,包含表示与对应于线程的堆栈尺寸大的线程相比,先选择堆栈尺寸小的线程的条件。7.权利要求6所述的垃圾收集系统,其特征在于,上述垃圾收集系统具备利用存储管理单元(MMU)来管理存储器的存储管理机构,每当需要生成对象时,通过上述存储管理机制分配对应于该对象的存储区域;上述释放单元通过上述存储管理机构,进行存...

【专利技术属性】
技术研发人员:今西祐子土井繁则
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1