[發明專利]一種Java類分析方法、裝置、存儲介質及電子設備有效
| 申請號: | 201911142937.1 | 申請日: | 2019-11-20 |
| 公開(公告)號: | CN110990019B | 公開(公告)日: | 2023-05-02 |
| 發明(設計)人: | 馮俊 | 申請(專利權)人: | 騰訊音樂娛樂科技(深圳)有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06F8/75 |
| 代理公司: | 深圳翼盛智成知識產權事務所(普通合伙) 44300 | 代理人: | 陳曉真 |
| 地址: | 518000 廣東省深圳市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 java 分析 方法 裝置 存儲 介質 電子設備 | ||
1.一種Java類分析方法,其特征在于,包括:
確定目標Java工程,以及所述目標Java工程的源代碼文件;
分析所述源代碼文件,確定所述目標Java工程的經過第一修改的目標源代碼文件;
對所述目標源代碼文件進行編譯,生成目標字節碼文件;
確定所述目標字節碼文件的類的歷史數據結構,其中,所述歷史數據結構為所述目標Java工程在第二修改后生成;
基于字節碼分析工具,對所述目標字節碼文件進行解析,確定所述目標字節碼文件中類的當前數據結構;
將所述目標字節碼文件中類的當前數據結構與歷史數據結構進行對比,以確定所述目標源代碼文件中發生變化的類,其中,若類的當前數據結構與歷史數據結構的成員變量不同,則判定類發生變化;
根據所述類的當前數據結構與歷史數據結構中不同的成員變量,確定所述類中發生變化的元素。
2.如權利要求1所述的Java類分析方法,其特征在于,所述分析所述源代碼文件,確定所述目標Java工程的經過第一修改的目標源代碼文件,包括:
獲取所述源代碼文件中的第一最后修改時間;
從第一數據庫,獲取所述目標Java工程在第二修改后的第二最后修改時間;
將源代碼文件的第一最后修改時間與第二最后修改時間進行對比,以識別出所述目標Java工程中經過第一修改的目標源代碼文件,其中,當源代碼文件中的第一最后修改時間與對應的第二最后修改時間不同,則判定所述源代碼文件經過第一修改。
3.如權利要求2所述的Java類分析方法,其特征在于,所述將源代碼文件的第一最后修改時間與第二最后修改時間進行對比,以識別出所述目標Java工程中經過第一修改的目標源代碼文件之后,還包括:
將所述目標源代碼文件的第一最后修改時間更新至所述第一數據庫。
4.如權利要求1所述的Java類分析方法,其特征在于,所述確定所述目標字節碼文件的類的歷史數據結構,包括:
確定所述目標字節碼文件的類的名稱;
從第二數據庫中,獲取所述類的名稱對應的數據結構,將獲取的數據結構作為所述類的歷史數據結構。
5.如權利要求1所述的Java類分析方法,其特征在于,所述確定目標Java工程,以及所述目標Java工程的源代碼文件之后,還包括:
判斷所述目標Java工程是否為首次編譯;
若否,則執行分析所述源代碼文件,確定所述目標Java工程的經過第一修改的目標源代碼文件的步驟。
6.如權利要求5所述的Java類分析方法,其特征在于,所述判斷所述目標Java工程是否為首次編譯之后,還包括:
若所述目標Java工程為首次編譯,則獲取所述源代碼文件中的第一最后修改時間并存儲至第一數據庫;
對所述源代碼文件進行編譯,生成字節碼文件;
基于字節碼分析工具,對所述字節碼文件進行解析,確定所述字節碼文件中類的數據結構,并將所述數據結構存儲至第二數據庫。
7.如權利要求1至6任一項所述的Java類分析方法,其特征在于,所述確定所述類中發生變化的元素之后,還包括:
判斷發生變化的元素是否為預設元素;
若是,則確定所述發生變化的類的子依賴集;
對所述子依賴集對應的源代碼文件進行編譯,生成字節碼文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊音樂娛樂科技(深圳)有限公司,未經騰訊音樂娛樂科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911142937.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:紅外探測器讀出電路銦凸點重置方法
- 下一篇:一種抗油污天花涂料及其制備方法





