[發明專利]一種內存垃圾收集器中對象狀態的增量式跟蹤記錄方法無效
| 申請號: | 201210185833.0 | 申請日: | 2012-06-06 |
| 公開(公告)號: | CN102722447A | 公開(公告)日: | 2012-10-10 |
| 發明(設計)人: | 史曉華 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 官漢增 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 垃圾 收集 對象 狀態 增量 跟蹤 記錄 方法 | ||
1.一種內存垃圾收集器中對象狀態的增量式跟蹤記錄方法,其特征在于:包括以下幾個步驟:
步驟一:內存垃圾收集器創建一個新的對象的同時,增加該對象的對象序列號GID值,形成現有的對象存儲信息;
步驟二:內存垃圾收集器完成當前的內存垃圾收集任務后,對每個對象的狀態進行記錄,并將記錄結果保存在對象狀態記錄表中,對象狀態記錄表由一個索引表和對象狀態記錄組成,索引表中的每一項都對應一個對象狀態記錄;
步驟三:判斷從上一次內存垃圾收集器執行完內存垃圾收集任務到本次執行完內存垃圾收集任務的過程中,內存垃圾收集器的程序是否申請創建了新的對象,如果是,每增加一個新的對象,在索引表中增加一個以該對象的GID值為下標的新項,并相應增加一個該對象的對象狀態記錄,并將該對象的創建時間記錄在內,如果不是,進入步驟四;
步驟四:判斷從上一次內存垃圾收集器執行完內存垃圾收集任務到本次執行完內存垃圾收集任務的過程中,內存垃圾收集器的程序是否訪問了已有的對象,如果是,每一個被訪問的對象,通過索引表,以該被訪問對象的GID值為下標,訪問到該對象的對象狀態記錄,將該對象的最近被訪問時間記錄在對象狀態記錄中,如果不是,進入步驟五;
步驟五:判斷本次內存垃圾收集器執行內存垃圾收集過程中是否移動了已有對象,如果是,每一個被移動的對象,通過索引表,以該對象的GID值為下標,訪問到該對象的對象狀態記錄,在該對象的對象狀態記錄中增加一項內存地址記錄信息,標記為“GC?x:內存地址”,其中次數x代表內存垃圾收集器的第幾次調用該對象。如果不是,進入步驟六;
步驟六:判斷本次內存垃圾收集器執行內存垃圾收集過程中內存垃圾收集器的程序是否釋放了已有對象,如果是,每一個被釋放的對象,通過索引表,以該對象的GID值為下標,訪問到該對象的對象狀態記錄,在該對象的對象狀態記錄中增加一項釋放的記錄信息,標記為“GC?z:釋放”,z代表這是內存垃圾收集器第z次執行內存垃圾收集任務,如果不是則結束。
2.根據權利要求1所述的一種內存垃圾收集器中對象狀態的增量式跟蹤記錄方法,其特征在于:所述的GID值取值為非零的正整數。
3.根據權利要求1所述的一種內存垃圾收集器中對象狀態的增量式跟蹤記錄方法,其特征在于:所述的對象狀態記錄包含對象的創建時間、對象的最近被訪問時間信息。
4.根據權利要求1所述的一種內存垃圾收集器中對象狀態的增量式跟蹤記錄方法,其特征在于:所述的對象狀態記錄還包括“GC?x:內存地址”以及“GC?z:釋放”的信息,其中“GCx:內存地址”的含義為第x次內存垃圾收集完成時,該對象在內存中的地址;“GC?z:釋放”的含義為第z次內存垃圾收集完成時,該對象已被釋放。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210185833.0/1.html,轉載請聲明來源鉆瓜專利網。





