计算JAVA项目中方法执行时间的方法、装置制造方法及图纸

技术编号:15541606 阅读:141 留言:0更新日期:2017-06-05 10:56
本发明专利技术公开了一种计算JAVA项目中方法执行时间的方法,包括:获取指定JAVA项目的目标目录中全部的字节码文件;从所述字节码文件中获取类路径;根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间;该方法可以完全抛弃传统的人工方式,从而极大的缩短了查找耗时方法的时间,提高软件开发和运维的时效,降低成本;本发明专利技术还公开了一种计算JAVA项目中方法执行时间的装置,具有上述有益效果。

Method and device for computing method execution time in JAVA project

The invention discloses a method, a method of calculating the JAVA project execution time includes: Specifies the goal of the JAVA project directory in all bytecode files; access path from the bytecode file; according to the class path, proxy method create each class path corresponding to the agent and the corresponding class the proxy contains records; the method of the proxy class in the proxy method in the start time and end time of the agent program; the agent and the agent of the end time of the start time difference, corresponding to each method the target directory execution time; the method can abandon the traditional manual way completely thus, greatly shorten the search time consuming method, improving efficiency, reduce the cost of software development and maintenance; the invention also discloses a method for calculating the execution in JAVA project The utility model has the above beneficial effect.

【技术实现步骤摘要】
计算JAVA项目中方法执行时间的方法、装置
本专利技术涉及数据处理
,特别涉及一种计算JAVA项目中方法执行时间的方法、装置。
技术介绍
Java是由SunMicrosystems公司于1995年5月推出的高级程序设计语言。Java可运行于多个平台,如Windows,MacOS,及其他多种UNIX版本的系统。因其简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线程性、动态性等特点,JAVA语言被广泛应用于信息技术相关的各个行业。其提供的对网络应用的支持和多媒体的存取,也会推动JAVA语言在互联网和企业网络的Web应用。而且其开放性和创新性也吸引了全世界最多的软件技术开发者的青睐。但是,在一些实体项目中,常常因为开发者的代码编写不规范或调用API方式不正确,导致程序执行缓慢,轻者影响用户体验,重者可能导致系统崩溃等不可预知的产品风险。比如某用户点击软件的确定按钮,软件无响应或者经过很长一段时间后才反馈执行结果,往往遇到此种情况后,软件开发人员首先需要通过打印的日志分析软件执行过程,或者通过Debug调试的方式跟踪软件的执行过程,以定位软件耗时的具体类的具体方法。该人工的方式既费时间,又费人力,而且具有一定的主观和盲目性。所以,如何高效的计算JAVA方法执行时间,快速定位问题的方法,是本领域技术人员需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种计算JAVA项目中方法执行时间的方法及装置,可以完全抛弃传统的人工方式,从而极大的缩短了查找耗时方法的时间,提高软件开发和运维的时效,降低成本。为解决上述技术问题,本专利技术提供一种计算JAVA项目中方法执行时间的方法,所述方法包括:获取指定JAVA项目的目标目录中全部的字节码文件;从所述字节码文件中获取类路径;根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法,并执行所述代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间。可选的,获取指定JAVA项目的目标目录中全部的字节码文件,包括:指定JAVA项目的目标目录;扫描所述目标目录,筛选出后缀名为.class的字节码文件。可选的,得到所述目标目录中各方法对应的执行时间之后,还包括:输出所述目标目录中各方法对应的执行时间到指定设备。可选的,输出所述目标目录中各方法对应的执行时间到指定设备,包括:将所述目标目录中各方法对应的执行时间按照时长进行降序排列,形成输出序列;按照所述输出序列输出所述目标目录中各方法对应的执行时间到指定设备。可选的,得到所述目标目录中各方法对应的执行时间之后,还包括:将所述执行时间与设定时间阈值进行比较,确定大于所述设定时间阈值的执行时间;输出大于所述设定时间阈值的执行时间对应方法在所述目标目录中的定位信息。本专利技术还提供一种计算JAVA项目中方法执行时间的装置,包括:字节码文件获取模块,用于获取指定JAVA项目的目标目录中全部的字节码文件;类路径获取模块,用于从所述字节码文件中获取类路径;代理方法执行模块,用于根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法,并执行所述代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;执行时间计算模块,用于将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间。可选的,所述字节码文件获取模块包括:指定目标目录单元,用于指定JAVA项目的目标目录;筛选单元,用于扫描所述目标目录,筛选出后缀名为.class的字节码文件。可选的,该装置还包括:输出模块,用于输出所述目标目录中各方法对应的执行时间到指定设备。可选的,所述输出模块包括:排序单元,用于将所述目标目录中各方法对应的执行时间按照时长进行降序排列,形成输出序列;输出单元,用于按照所述输出序列输出所述目标目录中各方法对应的执行时间到指定设备。可选的,该装置还包括:比较模块,用于将所述执行时间与设定时间阈值进行比较,确定大于所述设定时间阈值的执行时间;定位信息输出模块,用于输出大于所述设定时间阈值的执行时间对应方法在所述目标目录中的定位信息。本专利技术所提供的一种计算JAVA项目中方法执行时间的方法,包括:获取指定JAVA项目的目标目录中全部的字节码文件;从所述字节码文件中获取类路径;根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间;可见,该方法可以完全抛弃传统的人工方式,通过创建的代理类及对应的代理方法,自动记录代理类中各方法的代理开始时间及代理结束时间,得到目标目录中各方法对应的执行时间;从而极大的缩短了查找耗时方法的时间,提高软件开发和运维的时效,降低成本;本专利技术还提供了一种计算JAVA项目中方法执行时间的装置,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的计算JAVA项目中方法执行时间的方法的流程图;图2为本专利技术实施例所提供的另一计算JAVA项目中方法执行时间的方法的流程图;图3为本专利技术实施例所提供的计算JAVA项目中方法执行时间的终止的结构框图;图4为本专利技术实施例所提供的另一计算JAVA项目中方法执行时间的终止的结构框图。具体实施方式本专利技术的核心是提供一种计算JAVA项目中方法执行时间的方法及装置,可以完全抛弃传统的人工方式,从而极大的缩短了查找耗时方法的时间,提高软件开发和运维的时效,降低成本。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1为本专利技术实施例所提供的计算JAVA项目中方法执行时间的方法的流程图;所述方法包括:S100、获取指定JAVA项目的目标目录中全部的字节码文件;其中,这里的目标目录可以是由用户进行设定,用户可以根据自身的需求选择需要进行执行时间计算的目标目录。例如可以是JAVA项目所在的目录或者指定更细粒度的包含字节码文件的目录。即这里的目标目录可以是JAVA项目目录或者更细粒度的某个文件子目录。目标目录的数量可以是一个也可以是多个,即用户可以指定JAVA项目中全部想要进行执行时间计算的目录作为目标目录。因此,本实施例并不对目标目录的数量及目录大小进行限定。具体的,该步骤的具体过程为指定目标目录,扫描目标目录,确定目标目录中包含的全部字节码文件;即指定JAVA项目的目录作为目标目录,扫描该目录,并获取项目中的所有class文件,即原始的字节本文档来自技高网...
计算JAVA项目中方法执行时间的方法、装置

【技术保护点】
一种计算JAVA项目中方法执行时间的方法,其特征在于,所述方法包括:获取指定JAVA项目的目标目录中全部的字节码文件;从所述字节码文件中获取类路径;根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法,并执行所述代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间。

【技术特征摘要】
1.一种计算JAVA项目中方法执行时间的方法,其特征在于,所述方法包括:获取指定JAVA项目的目标目录中全部的字节码文件;从所述字节码文件中获取类路径;根据所述类路径,创建每一个类路径对应的代理类及对应的代理方法,并执行所述代理方法;其中,所述代理方法中包含记录代理类中各方法的代理开始时间及代理结束时间的程序;将所述代理结束时间与所述代理开始时间作差,得到所述目标目录中各方法对应的执行时间。2.根据权利要求1所述的方法,其特征在于,获取指定JAVA项目的目标目录中全部的字节码文件,包括:指定JAVA项目的目标目录;扫描所述目标目录,筛选出后缀名为.class的字节码文件。3.根据权利要求2所述的方法,其特征在于,得到所述目标目录中各方法对应的执行时间之后,还包括:输出所述目标目录中各方法对应的执行时间到指定设备。4.根据权利要求3所述的方法,其特征在于,输出所述目标目录中各方法对应的执行时间到指定设备,包括:将所述目标目录中各方法对应的执行时间按照时长进行降序排列,形成输出序列;按照所述输出序列输出所述目标目录中各方法对应的执行时间到指定设备。5.根据权利要求1-4任一项所述的方法,其特征在于,得到所述目标目录中各方法对应的执行时间之后,还包括:将所述执行时间与设定时间阈值进行比较,确定大于所述设定时间阈值的执行时间;输出大于所述设定时间阈值的执行时间对应方法在所述目标目录中的定位信息。6.一种计算JAVA...

【专利技术属性】
技术研发人员:左兰海
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1