统计Java源文件代码行数的方法及系统技术方案

技术编号:26504056 阅读:38 留言:0更新日期:2020-11-27 15:31
本发明专利技术公开一种统计Java源文件代码行数的方法及系统,包括如下步骤:(1)当Java虚拟机开始加载类文件,实时获取已被加载的类文件数组;(2)根据目标类文件的特征参数判断已获取到的所述类文件数组中是否包含有所述目标类文件,若是,则进入步骤(3),若否,则返回步骤(1),其中所述目标类文件是需要统计代码行数的源文件编译后的类文件,所述目标类文件的特征参数被预先添加在Java虚拟机;(3)获取所述目标类文件中所有实例方法和静态方法的字节码信息,并从所述字节码信息中得到对应的行号字段值并比较出最大行号值,进而得到需要统计代码行数的源文件的代码行数。本发明专利技术还公开了一种统计Java源文件代码行数的装置及可读存储介质。

【技术实现步骤摘要】
统计Java源文件代码行数的方法及系统
本专利技术涉及计算机
,具体涉及一种统计Java源文件代码行数的方法及系统。
技术介绍
目前,统计Java代码行数的技术主要是通过文件流一行行读取Java源代码文件,使用这种方法会误将多行或单行的代码注释及一些无效的代码所在行当作代码行数进行统计,这样统计的代码行数不准确。同时,在遇到一些比较大的Java源文件时,使用文件流一行行读取文件内容来计算,会一定程度影响统计效率,并且读取的文件内容需要临时存储在内存中,导致了内存资源被额外消耗。此外,Java源文件具有一定的可变性,这种特性容易导致在统计代码行数时出现前后结果不一致的情况,容易给使用者带来一定的误导。
技术实现思路
本专利技术的目的在于提供一种统计Java源文件代码行数的方法、系统、装置及可读存储介质,有利于提高Java源文件代码行数统计准确性和统计效率,同时不会额外损耗内存资源去存储临时内容。为实现上述目的,本专利技术提供了一种统计Java源文件代码行数的方法,包括如下步骤:(1)当Java虚拟机开始加本文档来自技高网...

【技术保护点】
1.一种统计Java源文件代码行数的方法,其特征在于,包括如下步骤:/n(1)当Java虚拟机开始加载类文件,实时获取已被加载的类文件数组;/n(2)根据目标类文件的特征参数判断已获取到的所述类文件数组中是否包含有所述目标类文件,若是,则进入步骤(3),若否,则返回步骤(1),其中所述目标类文件是需要统计代码行数的源文件编译后的类文件,所述目标类文件的特征参数被预先添加在Java虚拟机;/n(3)获取所述目标类文件中所有实例方法和静态方法的字节码信息,并从所述字节码信息中得到对应的行号字段值并比较出最大行号值。/n

【技术特征摘要】
1.一种统计Java源文件代码行数的方法,其特征在于,包括如下步骤:
(1)当Java虚拟机开始加载类文件,实时获取已被加载的类文件数组;
(2)根据目标类文件的特征参数判断已获取到的所述类文件数组中是否包含有所述目标类文件,若是,则进入步骤(3),若否,则返回步骤(1),其中所述目标类文件是需要统计代码行数的源文件编译后的类文件,所述目标类文件的特征参数被预先添加在Java虚拟机;
(3)获取所述目标类文件中所有实例方法和静态方法的字节码信息,并从所述字节码信息中得到对应的行号字段值并比较出最大行号值。


2.如权利要求1所述的统计Java源文件代码行数的方法,其特征在于,
在步骤(1)之前,还包括安装“统计代码行数”程序包的步骤。


3.如权利要求1所述的统计Java源文件代码行数的方法,其特征在于,步骤(1)中,所述“实时获取已被加载的类文件数组”通过JavaAgent技术执行。


4.如权利要求1所述的统计Java源文件代码行数的方法,其特征在于,所述步骤(2)包括如下步骤:
启用异步线程开启对所述类文件数组的分析;
获取预先添加的所述目标类文件的特征参数;
遍历已加载的所述类文件数组;
根据所述目标类文件的特征参数判断所述类文件数组中是否包含有所述目标类文件,若是,则进入步骤(3),若否,则返回步骤(1)。


5.如权利要求4所述的统计Java源文件代码行数的方法,其特征在于,所述特征参数为需要统计代码行数的所述源文件和所述目标类文件的名称。


6.如权利要求5所述的统计Java源文件代码行数的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:胡娇娇万振华王颉董燕李华
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:广东;44

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

1