System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 针对程序的方法集合获取方法和装置制造方法及图纸_技高网

针对程序的方法集合获取方法和装置制造方法及图纸

技术编号:41329347 阅读:5 留言:0更新日期:2024-05-13 15:07
本申请一个或多个实施例提供一种针对程序的方法集合获取方法和装置,所述方法包括:在目标程序运行时,获取被加载的与所述目标程序对应的至少一个类;在所述目标程序运行完成后,基于反射机制获取所述至少一个类中的各个类所包含的方法;基于所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合。本申请可以可以提高程序设计的效率,降低程序设计的成本,并且可以避免统计到程序实际并未使用的类所包含的方法,从而可以提高后续的程序评估的准确度。

【技术实现步骤摘要】

本申请一个或多个实施例涉及计算机,尤其涉及一种针对程序的方法集合获取方法和装置


技术介绍

1、面向对象编程(object oriented programming)是一种程序设计范式,它将一组具有一定的方法的数据属性组织成一个基本单元,称为对象。面向对象编程以对象为核心,认为程序由一系列对象组成。对象之间通过消息传递相互通信,来模拟现实世界中不同实体间的联系。通常,面向对象编程语言(例如:java)是基于类的,这意味着类将数据属性和方法定义为创建对象的模板,而这些对象则是类的实例。

2、在程序设计的过程中,为了评估程序在代码上的变动对程序已经实现的功能的影响,实现针对程序的更加精细化的管理,通常需要梳理出程序中所有类所包含的所有方法的集合。而具体如何获得程序中所有类所包含的所有方法的集合,也就成为了亟待解决的问题。


技术实现思路

1、本申请一个或多个实施例提供技术方案如下:

2、本申请提供一种针对程序的方法集合获取方法,所述方法包括:

3、在目标程序运行时,获取被加载的与所述目标程序对应的至少一个类;

4、在所述目标程序运行完成后,基于反射机制获取所述至少一个类中的各个类所包含的方法;

5、基于所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合。

6、可选地,获取被加载的与所述目标程序对应的至少一个类,包括:

7、对与所述目标程序对应的类加载器进行监听,以获取由所述类加载器加载的与所述目标程序对应的至少一个类。

8、可选地,所述目标程序中创建了用于对与所述目标程序对应的类加载器进行监听的监听器;

9、所述对与所述目标程序对应的类加载器进行监听,以获取由所述类加载器加载的与所述目标程序对应的至少一个类,包括:

10、基于所述监听器对所述类加载器进行监听,以在所述类加载器加载与所述目标程序对应的至少一个类中的各个类时,获取所述各个类。

11、可选地,所述获取被加载的与所述目标程序对应的至少一个类,包括:

12、获取被加载的与所述目标程序对应的至少一个类中的各个类,并将所述各个类的类信息记录到与所述目标程序对应的类信息表中。

13、可选地,所述基于反射机制获取所述至少一个类中的各个类所包含的方法,包括:

14、遍历所述类信息表,并针对与遍历到的类信息对应的目标类,基于反射机制获取所述目标类所包含的方法。

15、可选地,所述针对与遍历到的类信息对应的目标类,基于反射机制获取所述目标类所包含的方法,包括:

16、针对与遍历到的类信息对应的目标类,基于遍历到的类信息,获取与所述目标类对应的类对象,并进一步地获取所述类对象所包含的方法。

17、可选地,所述基于所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合,包括:

18、确定所述至少一个类中的各个类所包含的方法中是否存在方法名相同的多个方法,如果是,则获取所述多个方法中的各个方法的方法参数,并进一步地确定是否存在方法参数相同的多个方法,如果是,则将方法参数相同的多个方法更新为一个方法;

19、基于更新后的所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合。

20、本申请还提供一种针对程序的方法集合获取装置,所述装置包括:

21、第一获取单元,用于在目标程序运行时,获取被加载的与所述目标程序对应的至少一个类;

22、第二获取单元,用于在所述目标程序运行完成后,基于反射机制获取所述至少一个类中的各个类所包含的方法;

23、生成单元,用于基于所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合。

24、本申请还提供一种电子设备,包括:

25、处理器;

26、用于存储处理器可执行指令的存储器;

27、其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。

28、本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。

29、在上述技术方案中,可以在目标程序运行时,获取被加载的与目标程序对应的至少一个类,并在目标程序运行完成后,基于反射机制获取这至少一个类中的各个类所包含的方法,从而可以基于这至少一个类中的各个类所包含的方法,生成与目标程序对应的方法集合。

30、采用上述方式,一方面,可以实现与程序对应的方法集合的自动获取,而不再需要通过人工统计获取与程序对应的方法集合,因此可以提高程序设计的效率,降低程序设计的成本;另一方面,仅会基于在程序运行时被加载的类所包含的方法生成与程序对应的方法集合,由此可以避免统计到程序实际并未使用的类所包含的方法,从而可以提高后续的程序评估的准确度。

本文档来自技高网...

【技术保护点】

1.一种针对程序的方法集合获取方法,所述方法包括:

2.根据权利要求1所述的方法,获取被加载的与所述目标程序对应的至少一个类,包括:

3.根据权利要求2所述的方法,所述目标程序中创建了用于对与所述目标程序对应的类加载器进行监听的监听器;

4.根据权利要求1所述的方法,所述获取被加载的与所述目标程序对应的至少一个类,包括:

5.根据权利要求4所述的方法,所述基于反射机制获取所述至少一个类中的各个类所包含的方法,包括:

6.根据权利要求5所述的方法,所述针对与遍历到的类信息对应的目标类,基于反射机制获取所述目标类所包含的方法,包括:

7.根据权利要求1所述的方法,所述基于所述至少一个类中的各个类所包含的方法,生成与所述目标程序对应的方法集合,包括:

8.一种针对程序的方法集合获取装置,所述装置包括:

9.一种电子设备,包括:

10.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至7中任一项所述的方法。

【技术特征摘要】

1.一种针对程序的方法集合获取方法,所述方法包括:

2.根据权利要求1所述的方法,获取被加载的与所述目标程序对应的至少一个类,包括:

3.根据权利要求2所述的方法,所述目标程序中创建了用于对与所述目标程序对应的类加载器进行监听的监听器;

4.根据权利要求1所述的方法,所述获取被加载的与所述目标程序对应的至少一个类,包括:

5.根据权利要求4所述的方法,所述基于反射机制获取所述至少一个类中的各个类所包含的方法,包括:

<...

【专利技术属性】
技术研发人员:方海波
申请(专利权)人:浙江极氪智能科技有限公司
类型:发明
国别省市:

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

1