[发明专利]JAVA对象的存储方法及装置无效
| 申请号: | 201010611995.7 | 申请日: | 2010-12-29 |
| 公开(公告)号: | CN102053834A | 公开(公告)日: | 2011-05-11 |
| 发明(设计)人: | 王强;杨宁;徐小霞;张毅 | 申请(专利权)人: | 北京握奇数据系统有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
| 地址: | 100015 北京市朝阳区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | java 对象 存储 方法 装置 | ||
技术领域
本发明涉及智能卡技术领域,尤其涉及一种JAVA对象的存储方法及装置。
背景技术
JAVA卡是一种可以运行JAVA程序的智能卡,在JAVA卡中运行的程序为应用小程序(Applet),卡片实现了运行Applet程序所需要的运行环境、负责解释JAVA语言的虚拟机以及标准的系统应用程序编程接口(API,Application Programming Interfaces),这些功能保证了Applet程序可以在JAVA卡片上运行。
垃圾回收是JAVA语言的一大特性,与C++语言不同,JAVA语言可以自主的判断出不再使用的JAVA对象,即废弃的JAVA对象,当JAVA对象不再被引用,或者Applet程序无法找到JAVA对象时,该JAVA对象即为废弃的JAVA对象,JAVA语言在找到废弃的JAVA对象后,会将其回收,以使新建的JAVA对象有足够的存储空间。JAVA对象是从JAVA堆中分配存储空间,JAVA堆是JAVA的数据存储区,JAVA卡上的JAVA堆大部分是在电可擦可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)上。
现有技术中,对JAVA对象进行垃圾回收的方法主要为下述两种,具体为:
第一种方法,标记-清除方法:标记-清除收集器首先遍历所有JAVA对象并标记可到达的JAVA对象,然后扫描堆栈以寻找未标记的JAVA对象(即废弃的JAVA对象),并释放它们的内存,即删除废弃的JAVA对象。
在上述第一种方法中,在删除废弃的JAVA对象时,还涉及到JAVA对象移动的操作,例如JAVA对象A、B、C、D按顺序存储在JAVA卡中,其中JAVA对象B为废弃的JAVA对象,删除JAVA对象B后,需要把JAVA对象C和D顺序向前移动,因此在删除废弃的JAVA对象时,还需要进行JAVA对象的移动操作。
由于JAVA卡中的JAVA对象存储在EEPROM上,因此在进行垃圾回收时,会对EEPROM进行大量的读写操作,这就耗费了JAVA卡较多的处理时间和处理资源,降低了JAVA卡的处理速度。
第二种方法,标记-压缩方法:标记-压缩收集器首先遍历JAVA对象并标记可到达的JAVA对象,然后把标记的JAVA对象复制到新的存储空间中,以便进行压缩堆栈。
在上述第二种方法中,复制标记的JAVA对象其实是把有用的JAVA对象放在一起,这种方法需要进行非常多的JAVA对象移动操作,因此也会对EEPROM进行大量的读写操作,这也耗费了JAVA卡较多的处理时间和处理资源,降低了JAVA卡的处理速度。
发明内容
本发明实施例提供一种JAVA对象的存储方法及装置,用以解决现有技术中存在的对JAVA对象进行垃圾回收时,耗费了较多的处理时间和处理资源,降低了JAVA卡的处理速度的问题。
本发明实施例技术方案如下:
一种JAVA对象的存储方法,该方法包括步骤:在需要存储新建的JAVA对象时,在废弃的JAVA对象对应的句柄中,查找满足预设条件的句柄;将所述新建的JAVA对象存储到查找到的句柄对应的废弃的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/201010611995.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高效饲料防霉剂
- 下一篇:一种足氧不缺光条件下收集灵芝孢子粉的方法





