[发明专利]一种Java卡中垃圾回收的方法及装置有效
申请号: | 201110226977.1 | 申请日: | 2011-08-09 |
公开(公告)号: | CN102270134A | 公开(公告)日: | 2011-12-07 |
发明(设计)人: | 宋浩 | 申请(专利权)人: | 北京握奇数据系统有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F9/52 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 100015 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 垃圾 回收 方法 装置 | ||
技术领域
本发明涉及智能卡技术领域,尤其涉及一种Java卡中垃圾回收的方法及装置。
背景技术
Java卡是可以运行Java程序代码的智能卡,在Java卡中实现了应用程序(Applet)运行所需的运行环境,负责解释Java语音的虚拟机,以及标准的系统应用程序编程接口(Application Programming Interface,API),为Applet在Java卡上的运行提供了保证,其中,Applet是运行在智能卡上的特定应用程序。
Java语言的一大优势是,在Java运行环境中可以自主确定垃圾对象(不再使用的对象)并将其回收。具体的,Java堆是Java的数据区,而Java类的实例对象是从Java堆中分配空间,在个人电脑(PC)上,Java堆是保存在RAM上,而在Java卡中,Java堆是保存在非易失性存储器(如EEPROM)上。所谓垃圾回收的主要功能就是发现那些不再被引用的对象(即垃圾对象),并释放这些垃圾对象占用的空间,而垃圾回收机制就是用时间换取空间,即通过增加系统运行时间,来释放堆空间。
传统的Java卡垃圾回收机制是被动式回收,主要体现在以下两个方面:1、利用用户编写的Applet调用Java卡类库的垃圾回收API,在用户认为合适的时机,通过垃圾回收API调用虚拟机(VM)执行垃圾回收操作;2、在某个Applet被删除时,由虚拟机执行垃圾回收操作。被动式垃圾回收对时间要求较高,一般需要遍历整个对象表,确定垃圾对象并进行标记,再将带有标记的垃圾对象回收,这就造成进行垃圾对象回收的效率较低,并且,由于Java堆是在非易失性存储器上,如果清除和移动的垃圾对象较多,则垃圾回收需要的时间就会非常长。然而,有效的时间管理和高效的运行速度是决定智能卡性能的重要因素,因此提高垃圾回收的效率,成为Java卡中垃圾回收的重要课题。
发明内容
本发明提供一种Java卡中垃圾回收的方法及装置,用以Java卡主动进行垃圾回收,并且采用分阶段垃圾回收的方式,使得垃圾回收操作分布在多个小的时间片内,避免了现有技术中一次性回收Java卡中的所有垃圾而占用过多时间的问题,提高了Java卡中垃圾回收的效率。
本发明实施例提供的具体技术方案包括:
一种Java卡中垃圾回收的方法,包括:
在函数执行过程中,监控创建对象操作以及对静态对象的赋值操作;
若根据所述赋值操作确定创建的对象未被静态对象所引用,则将该未被静态对象所引用的对象确定为垃圾对象;
在函数执行结束时,对Java卡中的垃圾对象进行回收。
一种Java卡中垃圾回收的装置,包括:
第一处理单元,用于在函数执行过程中,监控创建对象操作以及对静态对象的赋值操作;
第二处理单元,用于根据所述赋值操作确定创建的对象未被静态对象所引用时,将该未被静态对象所引用的对象确定为垃圾对象;
第三处理单元,用于在函数执行结束时,对Java卡中的垃圾对象进行回收。
基于上述技术方案,本发明实施例中,通过在函数执行过程中,监控创建对象操作以及对静态对象的赋值操作,在根据赋值操作确定确定创建的对象未被静态对象所引用,则将该未被静态对象所引用的对象确定为垃圾对象,在函数执行结束时,对Java卡中的垃圾对象进行回收,从而可以在Java卡中的函数执行过程中确定垃圾对象,在函数执行结束时,对垃圾对象并回收,以函数为基本单位,采用局部分阶段的方式进行垃圾回收,将垃圾回收操作占用的时间均匀分布在整个Java卡的执行期间,避免了现有技术中一次性集中回收Java卡中的所有垃圾而占用过多时间的问题,将非常耗时的垃圾回收分布在很短的时间片内,从而提高了Java卡垃圾回收的效率,提高了Java卡的时效性,完善了Java卡的功能,也无需遍历整个对象表,节约了时间。并且,采用Java卡主动回收的方式,避免了现有技术中Java卡被动回收时,对Java卡的正常使用带来的影响,提高Java卡的性能。
附图说明
图1为本发明实施例中Java卡中垃圾回收的装置结构图;
图2为本发明实施例中Java卡中垃圾回收的方法流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京握奇数据系统有限公司,未经北京握奇数据系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110226977.1/2.html,转载请声明来源钻瓜专利网。