[發(fā)明專利]類加載方法和裝置有效
| 申請?zhí)枺?/td> | 201910229643.6 | 申請日: | 2019-03-25 |
| 公開(公告)號: | CN111736913B | 公開(公告)日: | 2021-11-19 |
| 發(fā)明(設(shè)計)人: | 王新建;張清華;楊勇勇;張斌;劉偉 | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京中博世達(dá)專利商標(biāo)代理有限公司 11274 | 代理人: | 胡艷娟 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 加載 方法 裝置 | ||
1.一種類加載方法,其特征在于,應(yīng)用于計算機設(shè)備,所述計算機設(shè)備包括目標(biāo)二進(jìn)制文件,所述目標(biāo)二進(jìn)制文件包括多個類的類名與所述多個類的全量信息之間的對應(yīng)關(guān)系,類名與類的全量信息一一對應(yīng);所述方法包括:
確定運行所述計算機設(shè)備中的應(yīng)用程序時所需的待加載類的類名;
根據(jù)所述多個類的類名與所述多個類的全量信息之間的對應(yīng)關(guān)系,在所述多個類的類名中查找所述待加載類的類名,并獲取所述待加載類的類名對應(yīng)的全量信息;其中,所述多個類包括第一類,所述第一類的全量信息是指運行所述第一類所需的全部信息;
根據(jù)所述待加載類的類名對應(yīng)的全量信息,運行所述應(yīng)用程序;
所述目標(biāo)二進(jìn)制文件還包括:所述多個類的類地址,以及所述多個類的類地址與所述多個類的類名的哈希值之間的對應(yīng)關(guān)系;一個類的類地址所指示的存儲空間用于存儲一個類的全量信息;所述方法還包括:
根據(jù)所述多個類的類地址與所述多個類的類名的哈希值之間的對應(yīng)關(guān)系,在所述多個類的類名的哈希值中查找目標(biāo)哈希值,并獲取所述目標(biāo)哈希值對應(yīng)的類地址;其中,所述目標(biāo)哈希值是所述待加載類的類名的哈希值;
所述根據(jù)所述多個類的類名與所述多個類的全量信息之間的對應(yīng)關(guān)系,在所述多個類的類名中查找所述待加載類的類名,并獲取所述待加載類的類名對應(yīng)的全量信息,包括:
在所述目標(biāo)哈希值對應(yīng)的類地址所指示的存儲空間中,查找所述待加載類的類名,其中,所述待加載類的類名是所述待加載類的全量信息的一部分;將所述目標(biāo)哈希值對應(yīng)的類地址所指示的存儲空間中的全量信息,作為所述待加載類的全量信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,一個哈希值對應(yīng)一個桶,一個桶包括零個、一個或多個類地址;所述根據(jù)所述多個類的類地址與所述多個類的類名的哈希值之間的對應(yīng)關(guān)系,在所述多個類的類名的哈希值中查找所述目標(biāo)哈希值,并獲取所述目標(biāo)哈希值對應(yīng)的類地址,包括:
根據(jù)多個桶與所述多個類的類名的哈希值之間的對應(yīng)關(guān)系,在所述多個類的類名的哈希值中查找所述目標(biāo)哈希值,并獲取所述目標(biāo)哈希值對應(yīng)的桶,并將所述目標(biāo)哈希值對應(yīng)的桶所包括的類地址作為所述目標(biāo)哈希值對應(yīng)的類地址。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,一個桶具有一個首地址和一個尾地址,所述多個桶包括第一桶,所述第一桶的首地址和尾地址所限定的存儲空間用于存儲所述第一桶包括的類地址;在所述將所述目標(biāo)哈希值對應(yīng)的桶所包括的類地址作為所述目標(biāo)哈希值對應(yīng)的類地址之前,所述方法還包括:
從所述多個桶的首地址和尾地址中,查找所述目標(biāo)哈希值對應(yīng)的桶的首地址和尾地址;
從所述目標(biāo)哈希值對應(yīng)的桶的首地址至尾地址所限定的存儲空間中,讀取所述目標(biāo)哈希值對應(yīng)的桶所包括的類地址。
4.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,在所述確定運行所述計算機設(shè)備中的應(yīng)用程序時所需的待加載類的類名之前,所述方法還包括:
將運行所述應(yīng)用程序所需的全量二進(jìn)制文件從所述計算機設(shè)備的外存中加載到所述計算機設(shè)備的內(nèi)存中;所述全量二進(jìn)制文件包括所述目標(biāo)二進(jìn)制文件。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括:
創(chuàng)建所述應(yīng)用程序的至少兩個類加載器;
建立所述至少兩個類加載器與所述全量二進(jìn)制文件之間的對應(yīng)關(guān)系;其中,所述至少兩個類加載器包括第一類加載器,所述第一類加載器用于在與所述第一類加載器對應(yīng)的二進(jìn)制文件中查找所述待加載類的全量信息。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括:
根據(jù)雙親委派機制,在所述至少兩個類加載器中確定當(dāng)前執(zhí)行查找操作的類加載器,以通過所述確定的當(dāng)前執(zhí)行查找操作的類加載器,在所述全量二進(jìn)制文件中查找所述待加載類的全量信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910229643.6/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





