[发明专利]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.vipzhuanli.com/pat/books/201510590908.7/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置