[發明專利]一種JAVA字節碼編譯方法在審
| 申請號: | 202110086799.0 | 申請日: | 2021-01-22 |
| 公開(公告)號: | CN112685049A | 公開(公告)日: | 2021-04-20 |
| 發明(設計)人: | 陳仕灼;謝旻騰;李承龍;錢鵬亮 | 申請(專利權)人: | 大連高德瑞信科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 沈陽天贏專利代理有限公司 21251 | 代理人: | 李榮新 |
| 地址: | 116000 遼寧省大連市高新技*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 java 字節 編譯 方法 | ||
1.一種JAVA字節碼編譯方法,其特征在于:包括以下步驟;
步驟一、采用直接生成Runtime對象,并通過Runtime對象生成調用命令的相關進程;
步驟二、通過調用相關方法進行編譯操作,編譯過程如果發現錯誤則返回錯誤信息,如果編譯成功則繼續調用相關方法進行運行操作,并返回運行結果;
步驟三、創建了兩個輸入流,一個用于連接運行結果輸出,另一個用于連接錯誤信息輸出,程序正確執行時會輸出運行結果,程序執行失敗時會輸出錯誤信息,并合并到一個字符串對象中一同處理;
步驟四、在Web頁面上編輯程序,直接在頁面代碼中集成CodeMirror的代碼編輯器組件;
步驟五、使用Bootstrap前端開發框架,實現響應式布局,使得用戶注冊、登錄,源代碼編輯等各個頁面都能夠有效適配手機、平板等各種移動終端設備和PC等桌面終端設備;
步驟六、以使用同步鎖的JAVA字節碼文件作為輸入,輸出使用可重入鎖或讀寫鎖的字節碼文件;
步驟七、采用Quad作為中間表示形式,分別使用Joeq編譯器和javassist作為字節碼的分析和轉換框架;
步驟八、對程序分析階段已經遍歷過的每一個指令檢查其出現的次序,確保與字節碼中鎖的出現順序一致,使用javassist字節碼轉換框架完成字節碼重構。
2.根據權利要求1所述的一種JAVA字節碼編譯方法,其特征在于:步驟一中,所述命令為complie命令或run命令。
3.根據權利要求2所述的一種JAVA字節碼編譯方法,其特征在于:調用所述complie命令或run命令時,需要判斷服務器端操作系統的類型,然后根據類型構建相應的編譯命令行和運行命令行。
4.根據權利要求1所述的一種JAVA字節碼編譯方法,其特征在于:步驟四中,所述CodeMirror實現的通用文本編輯器,能實現高級編輯功能的語言模式和插件,包括代碼自動補齊、代碼著色、代碼折疊、快捷鍵綁定。
5.根據權利要求1所述的一種JAVA字節碼編譯方法,其特征在于:步驟六中,中間過程為:
S1、將字節碼中間表示形式轉換為其它中間表示形式;
S2、采用訪問者模式分析,對程序中使用鎖的代碼進行遍歷;
S3、在面向可重入鎖重構的基礎上,采用負面效應分析實現面向讀寫鎖重構的分析工作,決定使用讀鎖還是寫鎖,分析完畢后產生分析輸出;
S4、對分析輸出進行一致性檢驗,產生分析結果,分析結果將作為程序轉換的依據;
S5、將分析結果和字節碼文件作為輸入,經過字節碼轉換,得到輸出。
6.根據權利要求1所述的一種JAVA字節碼編譯方法,其特征在于:步驟七中,所述Quad是Joeq編譯器中使用的中間表示形式,使用寄存器作為數據的存儲結構,Quad指令使用控制流的方式進行組織。
7.根據權利要求6所述的一種JAVA字節碼編譯方法,其特征在于:所述Quad可以保留程序中屬性訪問和虛方法調用的相關信息外,還可以保存程序的本地變量和臨時變量信息。
8.根據權利要求1所述的一種JAVA字節碼編譯方法,其特征在于:步驟八中,使用javassist字節碼轉換框架完成字節碼重構過程為:
S1、向類中增加屬性;
S2、將同步鎖中的synchronized關鍵字替換為可重入鎖或讀寫鎖的lock和unlock操作。
9.根據權利要求8所述的一種JAVA字節碼編譯方法,其特征在于:S1中,向類中增加屬性的過程為:鎖屬性名已經表明鎖需要在哪個中定義,找到該類在類中對其進行定義即可,該操作是通過繼承javsssist中的類javsssist.expr.ExprEditor并重寫其edit方法來實現。
10.根據權利要求8所述的一種JAVA字節碼編譯方法,其特征在于:S2中,由于同步塊和同步方法的使用方式不同,因此分別進行重構;
A1、對于同步塊,將moni-torenter和monitorexit替換為鎖的加鎖和解鎖操作;
A2、對于同步方法,去掉了synchronized修飾符,并在方法之前和之后加入加鎖和解鎖操作,并加入異常捕獲語句,以確保異常發生時解鎖操作會被執行。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連高德瑞信科技有限公司,未經大連高德瑞信科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110086799.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種慢性病群體中資源高消耗人群的個案管理方法
- 下一篇:轉塔機構及注吹機





