[發明專利]Java對象信息分析程序的自動生成方法有效
| 申請號: | 201510590908.7 | 申請日: | 2015-09-16 |
| 公開(公告)號: | CN105159680B | 公開(公告)日: | 2018-12-28 |
| 發明(設計)人: | 余恒洋;史曉華;馮偉 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/40 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 祗志潔 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | java 對象 信息 分析 程序 自動 生成 方法 | ||
本發明提供了一種Java對象信息分析程序的自動生成方法。本發明對二進制形式的對象信息,用EBNF表示法描述對象信息存儲格式,程序員自定義用于分析的源代碼文件,利用對象信息分析器自動生成模塊,將對象信息存儲格式的EBNF描述文件和程序員自定義的源代碼文件進行分析,生成對象信息分析程序源代碼,再編譯鏈接生成可執行的對象信息分析程序;讀取對象信息文件,輸入到對象信息分析程序中進行分析,輸出統計數據。本發明實現的對象信息分析程序的自動生成方法,能很好地適應“在線”監測程序頻繁改動的情況,并允許程序員方便地定制自己需要的“離線”分析程序,提高了對象信息文件的利用率和程序員的開發效率。
技術領域
本發明屬于Java計算機應用技術領域,具體涉及一種Java對象信息分析程序的自動生成方法。
背景技術
對Java程序進行性能分析的工具軟件通常需要在Java程序運行時“在線”監測內存中對象的狀態,并將獲取的對象狀態信息輸出到磁盤文件中,然后程序員利用與工具軟件配套的對象信息分析程序對該磁盤文件進行“離線”分析,最后得出統計結果,這些結果可幫助程序員找出程序的性能瓶頸或內存泄漏點。
該方法存在兩個主要問題:一是“在線”監測程序發生修改時,其輸出的文件格式可能發生變化,導致“離線”分析程序也要做相應改動;二是“離線”分析程序提供的功能是固定的,它只能統計分析出預設的對象信息,即使它本來可以統計額外的對程序員有用的信息,但程序員卻無法利用,因為他有可能沒有分析程序的源代碼,也有可能分析程序代碼復雜,修改它得不償失,此外指望每個程序員都能去修改這樣的程序也不現實。
現有大部分已有的Java程序分析軟件(商用或開源)生成的Java對象信息數據格式是私有的,使用自己專有的分析工具進行解析,數據格式一旦變化,程序也得跟著改,這個任務量跟最初的設計關系很大,同時使用這些工具的程序員也沒法對其進行擴充,創建自己想要的分析程序。
發明內容
本發明針對上述問題,提出了一種新穎的Java對象信息分析程序的自動生成方法,可以很好地適應“在線”監測程序頻繁改動的情況,同時也允許程序員方便地定制自己需要的“離線”分析程序,得到想要的對象信息,提高了對象信息文件的利用率和程序員的開發效率。
本發明提供的Java對象信息分析程序的自動生成方法,實現步驟如下:
步驟1,用EBNF表示法描述對象信息存儲格式,生成文本格式的對象信息存儲格式的EBNF描述文件;
步驟2,程序員自定義用于分析的源代碼文件;
步驟3,利用對象信息分析器自動生成模塊,將對象信息存儲格式的EBNF描述文件和程序員自定義的源代碼文件進行分析,生成對象信息分析程序源代碼;
步驟4,將對象信息分析程序源代碼經過編譯器編譯鏈接生成可執行的對象信息分析程序;
步驟5,讀取對象信息文件,輸入到對象信息分析程序中進行分析,輸出統計數據;所述的對象信息文件以二進制形式存儲。
本發明的優點與積極效果在于:
(1)本發明采用EBNF表示法描述二進制數據存儲格式,可借助現有的語法分析器生成對象信息分析程序,從而減少了不必要的重復工作,讓盡可能多的工作由機器自動完成;
(2)由程序員自定義分析的源代碼文件,從而可以分析出自己想要的特征,如哪些數據可以丟棄、而哪些需要重點分析、怎么分析等等,便于進行性能優化和BUG調試;
(3)本發明實現的對象信息分析程序的自動生成方法,能很好地適應“在線”監測程序頻繁改動的情況,并允許程序員方便地定制自己需要的“離線”分析程序,提高了對象信息文件的利用率和程序員的開發效率。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510590908.7/2.html,轉載請聲明來源鉆瓜專利網。
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置





