Skip to content

Latest commit

 

History

History
1690 lines (1139 loc) · 41.3 KB

File metadata and controls

1690 lines (1139 loc) · 41.3 KB

1. 输出文件格式

1.1. 类的注解

  • 文件名

class_annotation

  • 文件说明

类上指定的注解信息

若注解没有属性值,则相关字段为空

若注解有属性值,则每个属性值占一行

  • 文件各列内容说明
序号 说明
1 完整类名
2 注解类名
3 注解属性名称,空字符串代表无注解属性
4 注解属性类型,参考AnnotationAttributesTypeEnum类
5 注解属性值

1.2. 类的继承或实现的泛型信息

  • 文件名

class_ext_impl_generics_type

  • 文件说明

类在继承父类或实现接口时的泛型信息,包含泛型的类型、数组维度、变量名称等

例如:“GenericClassImplSuper1 implements GenericInterfaceSuper1<ChildClassA2, ChildClassB1>”,对应信息中会包含 ChildClassA2、ChildClassB1

例如:“GenericClassImplSuper2b2 extends GenericAbstractSuper2<String[], byte[]>”,对应信息中会包含 String[]、byte[]

例如:“GenericClassImplSuper2c<E1, E2> extends GenericAbstractSuper2<E1, E2>”,对应信息中会包含 E1、E2

例如:“GenericClassImplSuper2b3 extends GenericAbstractSuper2<List<String[]>, Map<String, Map<Integer, byte[]>>>”,对应信息中会包含 List、String[]、Map、String、Map、Integer、byte

  • 文件各列内容说明
序号 说明
1 完整类名
2 继承或实现类型,e:继承,i:实现
3 继承或实现的序号,从0开始
4 父类或接口的类名
5 类的继承或实现中的泛型类型序号,从0开始
6 类的继承或实现中的泛型类型类名(不包含数组标志)
7 类的继承或实现中的泛型数组类型的维度,为0代表不是数组类型
8 类的继承或实现中的泛型类型变量名称
9 类的继承或实现中的泛型类型分类,J:JDK中的类型,C:自定义类型

1.3. 类的信息

  • 文件名

class_info

  • 文件说明

类的信息,包括类名、access_flags、类文件的HASH值(MD5)、类所在的jar文件序号等

  • 文件各列内容说明
序号 说明
1 完整类名
2 类的access_flags
3 类文件的HASH值(MD5)
4 类所在的jar文件序号
5 类在jar包中的路径

1.4. 引用的类

  • 文件名

class_reference

  • 文件说明

类所引用的其他类关系

  • 文件各列内容说明
序号 说明
1 引用的完整类名
2 被引用的完整类名
3 类所在的jar文件序号

1.5. 类的签名中的泛型信息

  • 文件名

class_signature_generics_type

  • 文件说明

类的签名中的泛型信息

例如:“interface CommonMapper<S, T1> extends BaseMapper”,对应信息中会包含 S、T1

  • 文件各列内容说明
序号 说明
1 完整类名
2 序号,从0开始
3 类的签名中的泛型类型变量名称
4 类的签名中的泛型的父类类名

1.6. 重复同名类的信息

  • 文件名

dup_class_info

  • 文件说明

重复同名类的信息

类的信息,包括类名、access_flags、类文件的HASH值(MD5)、类所在的jar文件序号等

  • 文件各列内容说明
序号 说明
1 完整类名
2 类的access_flags
3 类文件的HASH值(MD5)
4 类所在的jar文件序号
5 类在jar包中的路径

1.7. 重复同名类引用的类

  • 文件名

dup_class_reference

  • 文件说明

重复同名类所引用的其他类关系

  • 文件各列内容说明
序号 说明
1 引用的完整类名
2 被引用的完整类名
3 类所在的jar文件序号

1.8. 重复同名类的字段的信息

  • 文件名

dup_field_info

  • 文件说明

重复同名类的字段信息

字段的信息,包括字段名称、类型、修饰符、是否存在对应的get/set方法,是否存在泛型类型等

  • 文件各列内容说明
序号 说明
1 完整类名
2 字段名称
3 字段类型(不包含数组标志)
4 字段数组类型的维度,为0代表不是数组类型
5 字段中的泛型类型分类,J:JDK中的类型,C:自定义类型
6 字段修饰符
7 基本类型,1:是,0:否
8 static标志,1:是,0:否
9 final标志,1:是,0:否
10 是否存在对应的get方法,1:是,0:否
11 是否存在对应的set方法,1:是,0:否
12 是否存在泛型类型,1:是,0:否
13 字段所在的jar文件序号

1.9. 重复同名类的方法的信息

  • 文件名

dup_method_info

  • 文件说明

重复同名类的方法信息

方法的信息,包括完整方法、access_flags、返回类型、方法指令的HASH值(MD5)等

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法的access_flags
3 返回类型类名(不包含数组标志)
4 返回类型数组的维度,为0代表不是数组类型
5 返回类型分类,J:JDK中的类型,C:自定义类型
6 返回类型是否存在泛型类型,1:是,0:否
7 方法指令的HASH值(MD5),可能为空字符串
8 方法所在的jar文件序号

1.10. 枚举类构造函数参数与字段赋值关系

  • 文件名

enum_init_arg_field

  • 文件说明

枚举类构造函数参数与字段赋值关系,即枚举类的构造函数中会将每个参数赋值到哪个字段

  • 文件各列内容说明
序号 说明
1 枚举类构造函数完整方法(类名+方法名+参数)
2 枚举类构造函数用于赋值的参数序号(从1开始)
3 枚举类构造函数被赋值的字段类型
4 枚举类构造函数被赋值的字段名

1.11. 枚举类初始化赋值信息

  • 文件名

enum_init_assign_info

  • 文件说明

枚举类初始化赋值信息,即枚举类中的每个常量在初始化时指定的参数信息

  • 文件各列内容说明
序号 说明
1 枚举类构造函数完整方法(类名+方法名+参数)
2 枚举常量名称
3 枚举字段序号
4 通过枚举类构造函数被赋值的参数序号(从1开始,最小为3)
5 通过枚举类构造函数被赋值的字段类型
6 通过枚举类构造函数被赋值的字段值是否有进行BASE64编码,1:是,0:否
7 通过枚举类构造函数被赋值的字段值

1.12. 继承与实现相关信息

  • 文件名

extends_impl

  • 文件说明

类继承类,或类实现接口相关的信息

  • 文件各列内容说明
序号 说明
1 完整类名
2 类的access_flags
3 类型,e:继承,i:实现
4 父类或接口的完整类名

1.13. 字段的注解

  • 文件名

field_annotation

  • 文件说明

字段上指定的注解信息

若注解没有属性值,则相关字段为空

若注解有属性值,则每个属性值占一行

  • 文件各列内容说明
序号 说明
1 完整类名
2 字段名称
3 注解类名
4 注解属性名称,空字符串代表无注解属性
5 注解属性类型,参考AnnotationAttributesTypeEnum类
6 注解属性值

1.14. 非静态字段集合中涉及的泛型类型

  • 文件名

field_generics_type

  • 文件说明

非静态字段中涉及的泛型类型,每个字段中可能涉及多种泛型类型,可能会存在多条记录

  • 文件各列内容说明
序号 说明
1 完整类名
2 字段名
3 类型,t:字段类型,gt:字段中的泛型类型
4 类型序号,字段类型固定为0,字段的泛型类型从0开始
5 非静态字段类型或其中的泛型类型类名(不包含数组标志)
6 非静态字段中的泛型数组类型的维度,为0代表不是数组类型
7 非静态字段中的泛型类型变量名称
8 非静态字段中的泛型通配符
9 非静态字段中的泛型通配符引用的类型
10 非静态字段中的泛型类型分类,J:JDK中的类型,C:自定义类型

1.15. 字段信息

  • 文件名

field_info

  • 文件说明

字段的信息,包括字段名称、类型、修饰符、是否存在对应的get/set方法,是否存在泛型类型等

  • 文件各列内容说明
序号 说明
1 完整类名
2 字段名称
3 字段类型(不包含数组标志)
4 字段数组类型的维度,为0代表不是数组类型
5 字段中的泛型类型分类,J:JDK中的类型,C:自定义类型
6 字段修饰符
7 基本类型,1:是,0:否
8 static标志,1:是,0:否
9 final标志,1:是,0:否
10 是否存在对应的get方法,1:是,0:否
11 是否存在对应的set方法,1:是,0:否
12 是否存在泛型类型,1:是,0:否
13 字段所在的jar文件序号

1.16. 通过get/set方法关联的字段关系

  • 文件名

field_relationship

  • 文件说明

通过get/set方法关联的字段关系,包含了set方法及用于赋值的get方法,以及set方法所在的方法

  • 文件各列内容说明
序号 说明
1 关联关系id,从1开始
2 get方法调用序号,从1开始
3 set方法调用序号,从1开始
4 调用方,完整方法
5 调用方,源代码行号
6 get方法完整类名
7 get方法方法名
8 set方法完整类名
9 set方法方法名
10 关联关系是否有效,1:是,0:否
11 关联关系类型,参考 java-callgraph2 项目 JavaCG2FieldRelationshipTypeEnum 类

1.17. 使用其他类中字段的使用情况

  • 文件名

field_usage_other

  • 文件说明

使用其他类中字段的使用情况,包括字段所在的类名、名称、类型、static标志、使用字段时get还是put等

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型类名(包含数组标志)
3 static标志,1:是,0:否
4 使用字段时get还是put,1:get,0:put
5 被使用的字段所在的类名
6 被使用的字段名称
7 被使用的字段类型(包含数组标志)
8 使用字段的源代码行号
9 类所在的jar文件序号
10 被使用的字段所在的jar文件序号

1.18. dto的get方法及字段

  • 文件名

get_method

  • 文件说明

dto的get方法的信息,包含对应的字段信息

  • 文件各列内容说明
序号 说明
1 完整类名
2 方法名
3 字段名
4 字段分类,J:JDK中的类型,C:自定义类型,GJ:泛型类型,只涉及JDK中的类型,GC:泛型类型,涉及自定义类型
5 字段类型(不包含数组标志)
6 字段数组类型的维度,为0代表不是数组类型
7 完整方法(类名+方法名+参数)
8 方法返回类型,包含数组标志

1.19. 内部类信息

  • 文件名

inner_class

  • 文件说明

内部类相关的信息,包括内部类与对应的外部类

  • 文件各列内容说明
序号 说明
1 内部类完整类名
2 外部类完整类名
3 是否为匿名内部类,1:是,0:否

1.20. java-all-call-graph组件使用的配置参数

  • 文件名

jacg_config

  • 文件说明

java-all-call-graph组件使用的配置参数,包括配置参数名、参数值、参数类型等

  • 文件各列内容说明
序号 说明
1 配置文件名
2 配置参数名,List/Set类型的参数代表序号
3 配置参数值
4 配置参数类型

1.21. jar文件信息

  • 文件名

jar_info

  • 文件说明

解析的Jar/war文件或目录相关的信息

  • 文件各列内容说明
序号 说明
1 jar文件类型,J: jar/war文件,D: 目录,JIJ: jar/war文件中的jar,R: 解析结果文件保存目录,FJ: 最终解析的jar文件
2 jar文件序号
3 外层jar文件完整路径
4 jar/war文件中的jar文件路径

1.22. java-callgraph2组件使用的配置参数

  • 文件名

javacg2_config

  • 文件说明

java-callgraph2组件使用的配置参数,包括,包括配置参数名、参数值、参数类型等

  • 文件各列内容说明
序号 说明
1 配置文件名
2 配置参数名,List/Set类型的参数代表序号
3 配置参数值
4 配置参数类型

1.23. Lambda表达式方法信息

  • 文件名

lambda_method_info

  • 文件说明

Lambda表达式方法调用相关信息

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 Lambda表达式被调用方完整方法(类名+方法名+参数)
3 Lambda表达式下一个被调用完整方法(类名+方法名+参数)

1.24. 方法的注解

  • 文件名

method_annotation

  • 文件说明

方法上指定的注解信息

若注解没有属性值,则相关字段为空

若注解有属性值,则每个属性值占一行

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 注解类名
4 注解属性名称,空字符串代表无注解属性
5 注解属性类型,参考AnnotationAttributesTypeEnum类
6 注解属性值
7 方法所在的jar文件序号

1.25. 方法参数的注解

  • 文件名

method_arg_annotation

  • 文件说明

方法参数上指定的注解信息

若注解没有属性值,则相关字段为空

若注解有属性值,则每个属性值占一行

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 参数序号,从0开始
4 注解类名
5 注解属性名称,空字符串代表无注解属性
6 注解属性类型,参考AnnotationAttributesTypeEnum类
7 注解属性值

1.26. 方法参数集合中涉及的泛型类型

  • 文件名

method_arg_generics_type

  • 文件说明

方法参数中的泛型类型

示例:”TestArgumentGenerics1.testAll(int i, List list)“

对于以上示例,会记录对应的方法,方法参数的类型,和其中涉及的泛型类型 List、TestArgument1

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 参数序号,从0开始
4 类型,t:参数类型,gt:参数的泛型类型
5 类型序号,参数类型固定为0,参数中的泛型类型从0开始
6 方法参数类型或其中的泛型类型类名(不包含数组标志)
7 方法参数中的泛型数组类型的维度,为0代表不是数组类型
8 方法参数中的泛型类型变量名称
9 方法参数中的泛型通配符
10 方法参数中的泛型通配符引用的类型
11 方法参数中的泛型类型分类,J:JDK中的类型,C:自定义类型

1.27. 方法参数

  • 文件名

method_argument

  • 文件说明

方法参数的类型及名称等,参数名称可能为空

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 参数序号,从0开始
4 参数名称,可能为空
5 参数类型(不包含数组标志)
6 参数数组类型的维度,为0代表不是数组类型
7 参数类型分类,J:JDK中的类型,C:自定义类型
8 是否存在泛型类型,1:是,0:否

1.28. 方法调用

  • 文件名

method_call

  • 文件说明

方法调用信息,每个方法调用占一行,包括调用方方法与被调用方方法

方法调用类型,详细信息见call_type.md

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 是否启用,1:启用,0:未启用
3 调用方,完整方法(类名+方法名+参数)
4 (方法调用类型)被调用方,完整方法(类名+方法名+参数)
5 调用方法源代码行号
6 调用方法返回类型
7 被调用方,对象数组的维度,为0代表不是数组类型
8 被调用对象类型,t:调用当前实例的方法,sf:调用静态字段的方法,f:调用字段的方法,v:调用其他变量的方法
9 被调用方法原始的返回类型
10 被调用方法实际的返回类型
11 调用方法jar文件序号
12 被调用方法jar文件序号
13 描述信息,默认为空

1.29. 方法调用的信息

  • 文件名

method_call_info

  • 文件说明

方法调用信息,包括方法调用中被调用对象与参数可能的类型以及值

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 被调用对象或参数序号,0代表被调用对象,1开始为参数
3 序号,从0开始,大于0代表有多种可能
4 类型,含义参考 JavaCG2MethodCallInfoTypeEnum 类
5 是否为数组格式,1:是,0:否
6 数组值组合序号,从0开始,非数组时为-1
7 数组维度,从1开始,非数组时为0
8 数组下标,逗号分隔,如"0"、"0,1"、"0,1,2"
9 值的类型,含义参考 JavaCG2ConstantTypeEnum 类
10 对应的值
11 调用方,完整方法(类名+方法名+参数)
12 方法返回类型,包含数组标志

1.30. 方法调用使用方法调用返回值

  • 文件名

method_call_method_call_return

  • 文件说明

方法调用使用方法调用返回值信息,包括方法调用中被调用对象与参数可能使用的方法调用返回值信息

包括返回值被使用的被调用方法完整方法、方法调用序号等

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 被调用对象或参数序号,
3 序号,从0开始,大于0代表有多种可能
4 是否为数组格式,1:是,0:否
5 返回值被使用的方法调用序号,从1开始
6 被调用方,完整方法(类名+方法名+参数)
7 被调用方,方法返回类型,包含数组标志

1.31. 方法调用使用非静态字段信息

  • 文件名

method_call_non_static_field

  • 文件说明

方法调用使用非静态字段信息,包括方法调用中被调用对象与参数可能使用的非静态字段信息

包括非静态字段所在的类名、字段名称、字段类型等

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 被调用对象或参数序号,
3 序号,从0开始,大于0代表有多种可能
4 非静态字段所在类完整类名
5 非静态字段名称
6 非静态字段类型
7 调用方,完整方法(类名+方法名+参数)
8 调用方,方法返回类型,包含数组标志

1.32. 方法调用被调用对象的原始类型

  • 文件名

method_call_raw_callee

  • 文件说明

方法调用被调用对象的原始类型表,当代码中使用的原始被调用对象与实际的不同时会记录到当前表

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 原始的被调用完整类名

1.33. 方法调用使用静态字段信息

  • 文件名

method_call_static_field

  • 文件说明

方法调用使用静态字段信息,包括方法调用中被调用对象与参数可能使用的静态字段信息

包括静态字段所在的类名、字段名称、字段类型等

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 被调用对象或参数序号,
3 序号,从0开始,大于0代表有多种可能
4 静态字段所在类完整类名
5 静态字段名称
6 静态字段类型
7 调用方,完整方法(类名+方法名+参数)
8 调用方,方法返回类型,包含数组标志

1.34. 方法调用使用静态字段方法调用返回值

  • 文件名

method_call_static_field_mcr

  • 文件说明

方法调用中,被调用对象或参数使用静态字段方法调用返回值

  • 文件各列内容说明
序号 说明
1 方法调用序号,从1开始
2 被调用对象或参数序号,
3 序号,从0开始,大于0代表有多种可能
4 静态字段所在类完整类名
5 静态字段名称
6 静态字段类型
7 被调用方(静态字段所在类),完整方法(类名+方法名+参数)
8 被调用方(静态字段所在类),方法返回类型,包含数组标志
9 调用方,完整方法(类名+方法名+参数)
10 调用方,方法返回类型,包含数组标志

1.35. 方法的catch信息

  • 文件名

method_catch

  • 文件说明

方法的catch,包括catch的异常类型,try与catch代码块开始的代码行号与结束的代码行号,try与catch代码块最小及最大的方法调用ID

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 catch捕获的异常类型
4 catch标志,switch: 编译器为switch生成的catch代码块,try-with-resource: 编译器为try-with-resource生成的catch代码块
5 try代码块开始代码行号
6 try代码块结束代码行号
7 try代码块最小方法调用ID
8 try代码块最大方法调用ID
9 catch代码块开始指令偏移量
10 catch代码块结束指令偏移量
11 catch代码块开始代码行号
12 catch代码块结束代码行号
13 catch代码块最小方法调用ID
14 catch代码块最大方法调用ID

1.36. 方法的finally信息

  • 文件名

method_finally

  • 文件说明

方法的finally信息,包括try或catch开始的代码行号与结束的代码行号,try或catch代码块最小及最大的方法调用ID,finally开始的代码行号

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 当前的finally对应try或catch
4 try或catch代码块开始代码行号
5 try或catch代码块结束代码行号
6 try或catch代码块最小方法调用ID
7 try或catch代码块最大方法调用ID
8 finally代码块开始代码行号

1.37. 方法的信息

  • 文件名

method_info

  • 文件说明

方法的信息,包括完整方法、access_flags、返回类型、方法指令的HASH值(MD5)等

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法的access_flags
3 返回类型类名(不包含数组标志)
4 返回类型数组的维度,为0代表不是数组类型
5 返回类型分类,J:JDK中的类型,C:自定义类型
6 返回类型是否存在泛型类型,1:是,0:否
7 方法指令的HASH值(MD5),可能为空字符串
8 方法所在的jar文件序号

1.38. 方法代码行号

  • 文件名

method_line_number

  • 文件说明

方法代码行号信息,包括起始行号与结束行号

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 起始代码行号
4 结束代码行号

1.39. 方法返回值对应的参数序号

  • 文件名

method_return_arg_seq

  • 文件说明

方法返回值对应的方法参数序号信息,即调用方法以当前方法的参数作为自己的返回值时,记录对应关系

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 方法返回值对应的方法参数序号,从0开始
4 是否返回等值转换前的方法参数,1:是,0:否

1.40. 方法返回值对应的方法调用ID

  • 文件名

method_return_call_id

  • 文件说明

方法返回值对应的方法调用序号信息,即调用方法以某个被调用方法的返回值作为自己的返回值时,记录两个方法的对应关系

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 方法返回值对应的方法调用序号,从1开始
4 是否返回等值转换前的方法调用,1:是,0:否

1.41. 方法返回的常量值(含null)

  • 文件名

method_return_const_value

  • 文件说明

方法返回的常量值,包括返回null的情况,属性有常量类型、常量值

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 某个方法返回的常量值序号,从0开始
4 常量类型,含义参考 JavaCG2ConstantTypeEnum 类
5 常量值是否有进行BASE64编码,1:是,0:否
6 常量的值

1.42. 方法返回的字段(含枚举)

  • 文件名

method_return_field_info

  • 文件说明

方法返回的字段信息,包括返回枚举的情况,属性有字段是否为静态、字段是否属于this对象、字段所在的类、字段的类型、字段的名称

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 某个方法返回的字段信息序号,从0开始
4 方法返回的字段是否为静态,1:是,0:否
5 方法返回的字段是否属于this对象,1:是,0:否
6 方法返回的字段所在的类完整类名
7 方法返回的字段类型完整类名(不包含数组标志)
8 方法返回的字段数组类型的维度,为0代表不是数组类型
9 方法返回的字段名称

1.43. 方法返回集合中涉及的泛型类型

  • 文件名

method_return_generics_type

  • 文件说明

方法返回类型中涉及的泛型类型

示例:”Map<Integer, String> test2()“

对于以上示例,会记录对应的方法,以及方法返回的类型,和其中涉及的泛型类型 Map、Integer、String

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 类型,t:方法返回类型,gt:方法返回类型中的泛型类型
4 类型序号,方法返回类型固定为0,方法返回类型中的泛型类型从0开始
5 方法返回类型或其中的泛型类型类名(不包含数组标志)
6 方法返回类型中的泛型数组类型的维度,为0代表不是数组类型
7 方法返回类型中的泛型类型变量名称
8 方法返回类型中的泛型通配符
9 方法返回类型中的泛型通配符引用的类型
10 方法返回类型中的泛型类型分类,J:JDK中的类型,C:自定义类型

1.44. 方法通过throw抛出的异常信息

  • 文件名

method_throw

  • 文件说明

方法中throw的异常信息,包括抛出catch的异常对象,抛出方法调用返回值等情况

  • 文件各列内容说明
序号 说明
1 完整方法(类名+方法名+参数)
2 方法返回类型,包含数组标志
3 throw指令的偏移量
4 throw的代码行号
5 序号,从0开始,大于0代表有多种可能
6 throw的异常类型
7 throw的标志,ce:catch的异常对象,mcr:方法调用返回值,unk:未知情况
8 抛出异常属于catch的异常对象时,对应的catch代码块开始指令偏移量
9 抛出异常对应的catch的异常对象变量名称
10 抛出异常属于方法调用返回值时,对应的方法调用ID

1.45. MyBatis的resultMap中的信息(使用MySQL)

  • 文件名

mybatis_ms_column

  • 文件说明

使用MySQL时,MyBatis的resultMap中的信息,包括Entity与数据库字段名对应关系信息

  • 文件各列内容说明
序号 说明
1 XML的resultMap ID
2 MyBatis的Entity类名
3 Entity中的字段名称
4 数据库表中的字段名称
5 数据库字段类型
6 MyBatis XML文件路径

1.46. MyBatis的Entity与Mapper、表名(使用MySQL)

  • 文件名

mybatis_ms_entity

  • 文件说明

使用MySQL时,MyBatis的Entity类名与Mapper类名、数据库表名

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis的Entity类名
3 数据库表名
4 MyBatis XML文件路径

1.47. MyBatis XML的sql、Mapper相关信息(使用MySQL)

  • 文件名

mybatis_ms_formated_sql

  • 文件说明

使用MySQL时,MyBatis XML的sql、Mapper相关信息,包括XML文件路径、Mapper类名、resultMap的ID、hash等

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis XML sql Id
3 sql文本序号,从0开始
4 XML元素名称,如select、insert、update等
5 格式化后的sql文本
6 MyBatis XML文件路径
7 XML的resultMap ID

1.48. 使用MyBatis时get/set方法所关联的数据库信息(使用MySQL)

  • 文件名

mybatis_ms_get_set

  • 文件说明

使用MySQL时,Java代码中的get/set方法通过MyBatis XML所关联的数据库信息

  • 文件各列内容说明
序号 说明
1 记录id,从1开始
2 通过get/set方法关联的字段关系id,从1开始
3 对应get方法还是set方法
4 get方法对应的方法调用ID,从1开始
5 set方法对应的方法调用ID,从1开始
6 数据库操作,包含sql语句,除select、insert、update、delete外,后面可能加上@set、@where
7 数据库表名(MyBatis XML中可能使用函数,长度需要长一些)
8 数据库字段名(MyBatis XML中可能使用函数,长度需要长一些)
9 MyBatis字段与Java代码字段关联方式描述,参考 MyBatisColumnRelateDescEnum 枚举类

1.49. MyBatis的XML中select的字段信息(使用MySQL)

  • 文件名

mybatis_ms_select_column

  • 文件说明

使用MySQL时,MyBatis的XML文件中select的字段及相关的表名与别名

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis Mapper方法名
3 数据库表名
4 数据库字段名
5 数据库字段赋值的参数名称
6 MyBatis XML文件路径

1.50. MyBatis的XML中update set子句的字段信息(使用MySQL)

  • 文件名

mybatis_ms_set_column

  • 文件说明

使用MySQL时,MyBatis的XML文件中update语句的set子句中的字段与用于赋值的参数情况

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis Mapper方法名
3 数据库表名
4 数据库字段名
5 数据库字段赋值的参数名称
6 MyBatis XML文件路径

1.51. MyBatis Mapper方法操作的数据库表信息(使用MySQL)

  • 文件名

mybatis_ms_table

  • 文件说明

使用MySQL时,MyBatis的Mapper接口方法中涉及到的数据库表信息

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis Mapper方法名
3 sql语句类型
4 数据库表序号
5 数据库表名
6 MyBatis XML文件路径

1.52. MyBatis的XML中where子句的字段信息(使用MySQL)

  • 文件名

mybatis_ms_where_column

  • 文件说明

使用MySQL时,MyBatis的XML文件中where子句中的字段与用于比较的参数情况

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis Mapper方法名
3 数据库表名
4 数据库字段名
5 数据库字段进行比较的方式
6 数据库字段用于比较的参数名
7 数据库字段用于比较的参数的使用方式,#/$
8 MyBatis XML文件路径

1.53. MyBatis Mapper方法写的数据库表信息(使用MySQL)

  • 文件名

mybatis_ms_write_table

  • 文件说明

使用MySQL时,MyBatis的Mapper接口方法中进行写操作的数据库表信息

  • 文件各列内容说明
序号 说明
1 MyBatis Mapper接口类名
2 MyBatis Mapper方法名
3 写操作sql语句类型
4 数据库表名
5 MyBatis XML文件路径

1.54. 包名信息

  • 文件名

package_info

  • 文件说明

包名信息,包括包名,对应的jar文件序号、jar文件名

  • 文件各列内容说明
序号 说明
1 包名
2 包名层级,等于包名中的.数量+1
3 类所在的jar文件序号
4 jar文件名

1.55. 解析jar文件时获取的自定义数据

  • 文件名

parsed_custom_data

  • 文件说明

可按照需要获取其他解析到的数据,写入到数据库表后可读取

  • 文件各列内容说明
序号 说明
1 数据类型,代表当前数据的类型,格式没有限制
2 数据的key,格式没有限制
3 数据内容,格式没有限制

1.56. properties文件配置内容

  • 文件名

properties_conf

  • 文件说明

保存properties文件名,及其中的配置参数

  • 文件各列内容说明
序号 说明
1 properties配置文件路径
2 properties配置内容是否经过BASE64编码,1:是,0:否
3 properties配置名称
4 properties配置内容

1.57. dto的set方法及字段

  • 文件名

set_method

  • 文件说明

dto的set方法的信息,包含对应的字段信息

  • 文件各列内容说明
序号 说明
1 完整类名
2 方法名
3 字段名
4 字段分类,J:JDK中的类型,C:自定义类型,GJ:泛型类型,只涉及JDK中的类型,GC:泛型类型,涉及自定义类型
5 字段类型(不包含数组标志)
6 字段数组类型的维度,为0代表不是数组类型
7 完整方法(类名+方法名+参数)
8 方法返回类型,包含数组标志

1.58. dto的set方法被调用时的赋值信息

  • 文件名

set_method_assign_info

  • 文件说明

包括通过方法调用的方法参数,及方法返回值传递数据的情况

  • 文件各列内容说明
序号 说明
1 set方法记录id,从1开始
2 set方法被调用时的方法调用序号,从1开始
3 set方法当前被调用时被赋值情况的序号,从0开始
4 set方法当前被调用时被赋值时通过方法调用传递的步骤,从0开始
5 字段关联关系id,从1开始
6 当前的方法调用序号,从1开始
7 调用方,方法hash+字节数
8 调用方,完整方法(类名+方法名+参数)
9 调用方法源代码行号
10 被调用方,完整方法(类名+方法名+参数)
11 set方法hash+字节数
12 set方法完整方法(类名+方法名+参数)
13 set方法是否在超类中,1:是,0:否
14 set方法被调用时的赋值情况标志,见 SetMethodAssignFlagEnum 类
15 set方法被调用时的赋值情况标志描述
16 set方法被调用时的赋值信息
17 是否属于等值转换前的数据,1:是,0:否

1.59. static、final字段初始化方法信息(含枚举)

  • 文件名

sf_field_method_call

  • 文件说明

static、final字段在初始化时使用方法调用的返回值,保存这些字段及初始化方法的信息

例如: public static final ClassA = new ClassA("test1", "test2");

也支持处理枚举中的字段

  • 文件各列内容说明
序号 说明
1 字段所在的完整类名
2 字段名称
3 序号,从0开始,大于0代表有多种可能
4 字段初始化对应的方法调用序号,从1开始
5 字段类型(不包含数组标志)
6 字段数组类型的维度,为0代表不是数组类型
7 初始化方法被调类名
8 初始化方法被调用方法名

1.60. Spring AOP advice影响的方法信息

  • 文件名

spring_aop_advice_affected_method

  • 文件说明

包括advice信息,及advice影响的方法信息

  • 文件各列内容说明
序号 说明
1 记录id,从1开始
2 类型,j: 在Java代码中定义,x: 在XML文件中定义
3 XML中定义的aspect的ID
4 XML中定义的aspect的方法名
5 advice类型
6 XML中的pointcut-ref名称
7 pointcut表达式
8 aspect排序数值
9 advice的完整方法
10 advice方法的返回类型
11 advice方法hash+字节数
12 对应aspect的类名
13 在XML中定义时对应的文件路径
14 底层的pointcut表达式
15 影响的完整方法
16 影响的方法的返回类型
17 影响的方法hash+字节数

1.61. Spring AOP advice Around信息

  • 文件名

spring_aop_advice_around

  • 文件说明

包括advice Around方法,及调用ProceedingJoinPoint.proceed()方法调用序号

  • 文件各列内容说明
序号 说明
1 记录id,从1开始
2 advice的完整方法
3 advice方法的返回类型
4 advice方法hash+字节数
5 调用ProceedingJoinPoint.proceed()方法调用序号,从1开始

1.62. Java代码中定义的Spring AOP Advice

  • 文件名

spring_aop_advice_java

  • 文件说明

包括advice在Java代码中定义时的完整方法、advice注解简单类名、表达式等

  • 文件各列内容说明
序号 说明
1 advice的完整方法
2 advice的方法返回类型
3 Java代码中定义的advice注解简单类名
4 pointcut表达式是否为base64格式
5 pointcut表达式
6 aspect排序数值

1.63. Spring AOP advice信息,在XML中定义

  • 文件名

spring_aop_advice_xml

  • 文件说明

包括XML中定义的aspect的ID、aspect的方法名、advice XML元素的名称表达式、pointcut-ref名称、pointcut表达式、XML文件路径等

  • 文件各列内容说明
序号 说明
1 XML中定义的aspect的ID
2 XML中定义的aspect的方法名
3 XML中定义的advice XML元素的名称
4 XML中的pointcut-ref名称
5 pointcut表达式是否为base64格式
6 pointcut表达式
7 aspect排序数值
8 XML文件路径

1.64. Java代码中定义的Spring AOP Aspect

  • 文件名

spring_aop_aspect_java

  • 文件说明

包括aspect在Java代码中定义时所在的类名、aspect排序数值等

  • 文件各列内容说明
序号 说明
1 aspect排序数值
2 aspect在Java代码中定义时所在的类名

1.65. Spring AOP aspect信息,在XML中定义

  • 文件名

spring_aop_aspect_xml

  • 文件说明

包括XML中定义的aspect的ID、对应的Bean名称、aspect排序数值、XML文件路径等

  • 文件各列内容说明
序号 说明
1 XML中定义的aspect的ID
2 XML中定义的aspect对应的Bean名称
3 aspect排序数值
4 XML文件路径

1.66. Java代码中定义的Spring AOP Pointcut

  • 文件名

spring_aop_pointcut_java

  • 文件说明

包括pointcut在Java代码中定义的表达式、所在的完整方法等

  • 文件各列内容说明
序号 说明
1 pointcut表达式是否为base64格式
2 pointcut表达式
3 pointcut在Java代码中定义时所在的完整方法

1.67. Spring AOP pointcut信息,在XML中定义

  • 文件名

spring_aop_pointcut_xml

  • 文件说明

包括XML中定义的pointcut的ID、表达式、XML文件路径等

  • 文件各列内容说明
序号 说明
1 XML中定义的pointcut的ID
2 pointcut表达式是否为base64格式
3 pointcut表达式
4 XML文件路径

1.68. Spring Bean信息

  • 文件名

spring_bean

  • 文件说明

Spring Bean信息,包括Bean的名称及完整类名

  • 文件各列内容说明
序号 说明
1 Spring Bean的名称
2 序号,从0开始,大于0代表有多种可能
3 完整类名
4 profile
5 Spring Bean的定义方式,j: 在Java代码中定义,x: 在XML文件中定义
6 在Java代码中定义时对应的注解类名
7 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径

1.69. Spring Controller信息

  • 文件名

spring_controller

  • 文件说明

通过类及方法注解定义的Spring Controller信息,包括对应的方法、Controller的URI

方法可能用于文件上传字段,通过方法请求参数判断

方法可能用于文件下载字段,通过方法请求参数与返回类型判断

  • 文件各列内容说明
序号 说明
1 记录id,从1开始
2 方法hash+字节数
3 序号,从0开始,大于0代表有多种可能
4 用于显示的URI
5 类上的注解path属性原始值
6 方法上的注解path属性原始值
7 注解类名
8 唯一类名
9 方法所在的jar文件序号
10 方法可能用于文件上传,1:是,0:否
11 方法可能用于文件下载,1:是,0:否
12 完整方法(类名+方法名+参数)
13 方法返回类型,包含数组标志

1.70. Java代码中定义的Spring的包扫描路径

  • 文件名

spring_scan_package_java

  • 文件说明

包括Spring的包扫描路径、定义Spring包扫描路径的类名

  • 文件各列内容说明
序号 说明
1 包扫描路径类型,j: 在Java代码中定义,x: 在XML文件中定义;dist: 按范围去重后的包扫描路径
2 序号,从0开始,大于0代表有多种可能
3 包扫描路径
4 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径

1.71. Spring的包扫描路径,在XML文件中定义

  • 文件名

spring_scan_package_xml

  • 文件说明

包括Spring的包扫描路径、XML文件路径

  • 文件各列内容说明
序号 说明
1 包扫描路径类型,j: 在Java代码中定义,x: 在XML文件中定义;dist: 按范围去重后的包扫描路径
2 序号,从0开始,大于0代表有多种可能
3 包扫描路径
4 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径

1.72. Spring定时任务信息,在Java代码中通过注解定义

  • 文件名

spring_task_java

  • 文件说明

包括Spring Bean的名称、对应的方法详情信息

  • 文件各列内容说明
序号 说明
1 记录id,从1开始
2 方法hash+字节数
3 Spring Bean的名称
4 完整类名
5 方法名
6 类型,j: 在Java代码中定义,x: 在XML文件中定义
7 完整方法(类名+方法名+参数)
8 方法返回类型,包含数组标志
9 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径

1.73. Spring定时任务信息,通过XML定义

  • 文件名

spring_task_xml

  • 文件说明

包括Spring定时任务Bean的名称及方法名、XML文件路径

  • 文件各列内容说明
序号 说明
1 Spring Bean的名称
2 方法名
3 在Java代码中定义时所在的类名,或在XML中定义时对应的文件路径

1.74. XML文件配置内容

  • 文件名

xml_conf

  • 文件说明

保存XML文件名,及其中的元素和属性

  • 文件各列内容说明
序号 说明
1 XML配置文件路径
2 XML文件名
3 XML文件序号
4 元素序号
5 父元素序号
6 所在元素序号
7 类型(e:元素,ev:元素值,eav:元素属性值)
8 嵌套的元素名称
9 当前的元素名称
10 当前的元素属性名称
11 元素值是否经过BASE64编码,1:是,0:否
12 当前的元素值或元素属性值