[發明專利]一種基于Java虛擬機的延時動態對象更新方法有效
| 申請號: | 201210346596.1 | 申請日: | 2012-09-19 |
| 公開(公告)號: | CN102880490A | 公開(公告)日: | 2013-01-16 |
| 發明(設計)人: | 馬曉星;曹春;呂建;顧天曉 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F9/455 |
| 代理公司: | 南京知識律師事務所 32207 | 代理人: | 張蘇沛 |
| 地址: | 210093 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 java 虛擬機 延時 動態 對象 更新 方法 | ||
1.一種基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,包含如下步驟:
步驟一、在動態更新中斷時刻,加載新類替換舊類;
步驟二、在更新中斷之后的常態運行時刻插入非法對象檢測點,對非法對象進行檢測;
步驟三、在常態運行時刻檢測到非法對象時將其更新為非一般的新對象;
步驟四、將非一般的新對象更新為普通對象。
2.根據權利要求1所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟一的具體步驟為:
1.1)?加載新類替換舊類;
1.2)?如果需要對象更新,將舊類元數據設置為非法狀態;
1.3)?如果新類對象空間增大,則創建輔助的類元數據。
3.根據權利要求2所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟1.2的具體步驟為:
1.2.1)?設置舊類元數據中的虛方法表中方法入口地址指向對象更新例程;
1.2.2)?設置舊類元數據中的接口實現信息為空;
1.2.3)?設置舊類元數據中的父類為新類。
4.根據權利要求2所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟1.3的具體步驟為:
1.3.1)?拷貝一份新類元數據,該拷貝即為輔助類元數據的雛形;
1.3.2)?設置拷貝類元數據對象大小為舊類型對象大小;
1.3.3)?設置拷貝類元數據對象引用類型域信息為僅包含能放置在舊類對象空間中的域。
5.根據權利要求1所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟二的插入非法對象檢測點的具體步驟為:
2.1)?在該對象表現為父類對象時的訪問前移除非法對象檢測;
2.2)?進行控制流分析,消除冗余的顯式非法對象檢測;
2.3)?移除虛方法調用、接口方法調用處得非法對象檢測,這部分檢測是隱式的;
2.4)?插入剩下顯式的對象檢測。
6.根據權利要求1所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟三的常態運行時刻將對象更新為普通的新對象的具體步驟為:
3.1)?如果該對象需要申請新空間,則創建一個新對象,將該對象與舊對象鏈接起來,舊對象的類元數據更新為輔助類元數據,舊對象的狀態字設置為有Mix-Object,且將申請的新對象地址編碼進該狀態字,形成一對未初始化的Mix-Objects;
3.2)?如果不需要申請新空間,則將舊對象的類元數據設置為新類元數據,形成一個為初始化的新對象;
3.3)?在得到的新空間上執行對象更新方法。
7.根據權利要求6所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟3.3中執行對象更新方法的編寫準則是:
3.3.1)?在運行更新方法時,運行系統保證了沒有其他線程對該對象訪問;
3.3.2)?舊對象空間中舊類域的值會被拷貝到棧中成為局部變量,所有對舊類舊域的訪問會轉換為對局部變量的訪問;
3.3.3)?對新類域的寫入讀取操作分兩種情況:1)對溢出的域(必須被放在MixObjects的新對象空間中的域)需要進行一次重定向;2)對其它域則正常訪問。
8.根據權利要求1所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟四的將非一般的普通新對象更新為普通對象的具體步驟為:
4.1)?當垃圾回收器要移動非一般的普通新對象Mix-Objects對象時只移動Mix-Objects中的新對象;
4.2)?將Mix-Objects中的舊對象值拷貝到新對象中;
4.3)?當對其他對象更新指向Mix-Objects的指針時,使其指向Mix-Objects新對象對應的地址。
9.根據權利要求8所述的基于Java虛擬機的低中斷延時動態對象更新方法,其特征在于,所述步驟4.3中,這里存在兩次轉發。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210346596.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:移動終端及其軟件升級方法
- 下一篇:電子控制驅動器件





