[發(fā)明專利]Java應用中的類加載隔離方法及裝置有效
| 申請?zhí)枺?/td> | 201410469375.2 | 申請日: | 2014-09-15 |
| 公開(公告)號: | CN105404524B | 公開(公告)日: | 2019-01-15 |
| 發(fā)明(設計)人: | 倪超 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 導出 組件包 類加載器 類加載 隔離 加載 第三方應用程序 對應組件 隔離容器 啟動指令 時間成本 系統(tǒng)資源 運行環(huán)境 組件創(chuàng)建 動態(tài)化 模塊化 依賴項 申請 解析 | ||
1.一種Java應用中的類加載隔離方法,其特征在于,預先在隔離容器的第一指定目錄下存放有多個需要隔離加載的組件包,每個組件包的第二指定目錄中存放有對應組件需導出的類的信息,各組件包的第三指定目錄中保存有組件內(nèi)各個類及其依賴項的類代碼;所述方法包括:
在所述隔離容器被下載并保存到第三方應用程序所在目錄下之后,接收啟動指令;所述第三方應用程序為使用所述隔離容器提供的接口包開發(fā)的應用程序;
解析所述第一指定目錄下的各個組件包;
分別以各個組件包的第三指定目錄為類路徑,為各個組件創(chuàng)建類加載器;
針對各個組件,分別用各自對應的類加載器對組件內(nèi)需要導出的類進行加載;
將所述需導出的類導出到所述第三方應用程序所在的運行環(huán)境中,以便在所述第三方應用程序運行時使用各個組件提供的功能。
2.根據(jù)權利要求1所述的方法,其特征在于,所述將所述需導出的類導出到所述第三方應用程序所在的運行環(huán)境中,包括:
將所述需導出的類導出到預置的緩存中;
待組件中需導出的類導出到所述緩存中后,將所述需導出的類導出到所述第三方應用程序所在的運行環(huán)境中;
其中,在利用類加載器對組件內(nèi)需要導出的類進行加載時,判斷所述緩存中是否存在該類,如果是,則從所述緩存中加載該類。
3.根據(jù)權利要求2所述的方法,其特征在于,所述組件包的第三指定目錄中還保存當前組件與其他組件之間的依賴關系信息,所述第二指定目錄中還存放有根據(jù)所述依賴關系生成的組件優(yōu)先級信息,所述針對各個組件,分別用各自對應的類加載器對組件內(nèi)需導出的類進行加載,包括:
按照所述優(yōu)先級信息確定各個組件在加載時的先后順序;
按照所述先后順序分別用各自對應的類加載器對組件內(nèi)需導出的類進行加載。
4.根據(jù)權利要求2所述的方法,其特征在于,在所述判斷所述緩存中是否存在該類之前還包括:
判斷該類是否為預置的需優(yōu)先從外部三方容器加載的類;
如果是,則從所述外部三方容器加載該類;
否則觸發(fā)所述判斷所述緩存中是否存在該類的步驟。
5.根據(jù)權利要求2所述的方法,其特征在于,還包括:
如果所述緩存中不存在該類,則從對應組件包的所述第三指定目錄對應的路徑加載該類。
6.根據(jù)權利要求5所述的方法,其特征在于,還包括:
如果從對應組件包的所述第三指定目錄對應的路徑無法加載該類,則判斷對應的組件包中是否保存有關于該類的聲明信息,且所述聲明信息表明需要從外部三方容器中加載該類;
如果是,則從外部三方容器中加載該類。
7.根據(jù)權利要求1至6任一項所述的方法,其特征在于,所述組件包的根目錄下還存放有版本文件,所述版本文件用于標識組件包的版本。
8.一種Java應用中的類加載隔離裝置,其特征在于,預先在隔離容器的第一指定目錄下存放有多個需要隔離加載的組件包,每個組件包的第二指定目錄中存放有對應組件需導出的類的信息,各組件包的第三指定目錄中保存有組件內(nèi)各個類及其依賴項的類代碼;所述裝置包括:
啟動指令接收單元,用于在所述隔離容器被下載并保存到第三方應用程序所在目錄下之后,接收啟動指令;所述第三方應用程序為,使用所述隔離容器提供的接口包開發(fā)的應用程序;
解析單元,用于解析所述第一指定目錄下的各個組件包;
類加載器創(chuàng)建單元,用于分別以各個組件包的第三指定目錄為類路徑,為各個組件創(chuàng)建類加載器;
類加載單元,用于針對各個組件,分別用各自對應的類加載器對組件內(nèi)需要導出的類進行加載;
類導出單元,用于將所述需導出的類導出到所述第三方應用程序所在的運行環(huán)境中,以便在所述第三方應用程序運行時使用各個組件提供的功能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經(jīng)阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410469375.2/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:應變傳感器裝置
- 下一篇:柵極驅動裝置及其陣列基板





