The embodiment of the present invention provides a method and device for Java code optimization, which can solve the problem that optimization strategy and optimization can not be provided in the face of a lengthy Java method. This method includes: obtaining Java method in Class file, judging whether Java method is a Java method to be processed whose row number exceeds the threshold of row number; if so, analyzing data flow and control flow of Java method to be processed; and optimizing Java method to be processed by inputting pre-trained data model through analysis.
【技术实现步骤摘要】
一种Java代码优化的方法和装置
本专利技术涉及计算机领域,尤其涉及一种Java代码优化的方法和装置。
技术介绍
随着Java语言的流行,产生了很多的集成开发环境和开发工具,如Eclipse、IDEA等主流的开发工具。这些工具也越来越智能,能进行代码重复提示、简单语法错误提示、输入自动补全以及建立类之间的引用关系图等诸多实用的功能,极大地提高了代码开发的效率。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:虽然现有技术中的方案能提高开发效率,有效的进行代码版本控制,但是却不具备优化代码的功能,例如针对那些很冗长的Java方法,无法给出需要优化重构的提示,也不能给出相应的优化策略,这就会造成代码的可读性越来越差,进而造成维护的成本越来越高。
技术实现思路
有鉴于此,本专利技术实施例提供一种Java代码优化的方法和装置,能够解决在面对冗长的Java方法时无法提供优化策略以及进行优化的问题。为实现上述目的,根据本专利技术的一个方面,提供了一种Java代码优化的方法。本专利技术实施例的一种Java代码优化的方法包括:获取Class文件中的Java方法,判断Java方法是否为行数超过行数阈值的待处理Java方法,其中,Java方法包括至少一行的执行操作语句;若是,对待处理Java方法进行数据流和控制流分析;将通过分析得出的数据输入预先训练的模型,以对待处理Java方法进行优化。可选地,获取Class文件中的Java方法,包括:读取Class文件的字节流,通过借助于类的访问标志位和方法的访问标志位进行的判断,获取Class文件中的Java方法。可选地,本 ...
【技术保护点】
1.一种Java代码优化的方法,其特征在于,包括:获取Class文件中的Java方法,判断所述Java方法是否为行数超过行数阈值的待处理Java方法,其中,所述Java方法包括至少一行的执行操作语句;若是,对所述待处理Java方法进行数据流和控制流分析;将通过分析得出的数据输入预先训练的模型,以对所述待处理Java方法进行优化。
【技术特征摘要】
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方法包括至少一行的执行...
【专利技术属性】
技术研发人员:曾佳平,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。