[发明专利]一种Java代码优化的方法和装置在审
申请号: | 201710249289.4 | 申请日: | 2017-04-17 |
公开(公告)号: | CN108920130A | 公开(公告)日: | 2018-11-30 |
发明(设计)人: | 曾佳平 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 方法和装置 优化 行数 优化策略 数据流 控制流 分析 | ||
1.一种Java代码优化的方法,其特征在于,包括:
获取Class文件中的Java方法,判断所述Java方法是否为行数超过行数阈值的待处理Java方法,其中,所述Java方法包括至少一行的执行操作语句;
若是,对所述待处理Java方法进行数据流和控制流分析;
将通过分析得出的数据输入预先训练的模型,以对所述待处理Java方法进行优化。
2.根据权利要求1所述的方法,其特征在于,获取Class文件中的Java方法,包括:
读取所述Class文件的字节流,通过借助于类的访问标志位和方法的访问标志位进行的判断,获取Class文件中的Java方法。
3.根据权利要求1所述的方法,其特征在于,包括:
根据所述Class文件中的Java方法的总数、每个Java方法各自的行数以及所述Class文件中的所有Java方法的总行数,确定Java方法的平均行数,作为所述行数阈值。
4.根据权利要求3所述的方法,其特征在于,包括:
获取所述Java方法的属性表,基于所述属性表中的属性,通过转换确定所述Java方法的行数。
5.根据权利要求1所述的方法,其特征在于,所述行数阈值能够由用户设定。
6.一种Java代码优化的装置,其特征在于,包括:
处理模块,用于获取Class文件中的Java方法,判断所述Java方法是否为行数超过行数阈值的待处理Java方法,其中,所述Java方法包括至少一行的执行操作语句;
分析模块,用于当所述Java方法的行数超过行数阈值时,对所述待处理Java方法进行数据流和控制流分析;
优化模块,用于将通过分析得出的数据输入预先训练的模型,以对所述待处理Java方法进行优化。
7.根据权利要求6所述的装置,其特征在于,所述处理模块还用于:
读取所述Class文件的字节流,通过借助于类的访问标志位和方法的访问标志位进行的判断,获取Class文件中的Java方法。
8.根据权利要求6所述的装置,其特征在于,所述处理模块还用于:
根据所述Class文件中的Java方法的总数、每个Java方法各自的行数以及所述Class文件中的所有Java方法的总行数,确定Java方法的平均行数,作为所述行数阈值。
9.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
获取所述Java方法的属性表,基于所述属性表中的属性,通过转换确定所述Java方法的行数。
10.根据权利要求6所述的装置,其特征在于,所述行数阈值能够由用户设定。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710249289.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:目标音量阈值确定方法、装置、设备和存储介质
- 下一篇:数据处理方法和装置