[發明專利]一種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.szxzyx.cn/pat/books/201110226977.1/2.html,轉載請聲明來源鉆瓜專利網。





