基于Java的对象间关系的确定方法、装置、设备及存储介质与流程

文档序号:39535845发布日期:2024-09-30 12:57阅读:4来源:国知局
基于Java的对象间关系的确定方法、装置、设备及存储介质与流程

本技术涉及大数据,尤其涉及一种基于java的对象间关系的确定方法、装置、设备及存储介质。


背景技术:

1、java进程中涉及多个对象,不同对象间可能存在不同的依赖关系,通过确定对象间的依赖关系,有助于对java进程进行分析。

2、依赖关系的管理一直都是java用户的一大困扰,因此,如何准确快速地确定对象间的依赖关系,是当前亟需解决的问题。


技术实现思路

1、本技术提供一种基于java的对象间关系的确定方法、装置、设备及存储介质,用以提高对象间关系的确定效率和精度。

2、第一方面,本技术提供一种基于java的对象间关系的确定方法,包括:

3、响应于对java进程的对象分析指令,基于预设的java进程监控工具,确定所述java进程的堆文件;其中,所述对象分析指令用于指示得到对象间的依赖关系,所述对象表征java进程中类的具体实例,所述预设的java进程监控工具用于对java进程进行内存监控,所述堆文件表征堆内存的使用情况;

4、基于预设的文件解析工具,对所述java进程的堆文件进行解析处理,得到所述java进程对应的原始数据;其中,所述原始数据表征对象的属性;

5、根据所述java进程对应的原始数据,确定对象间的依赖关系。

6、在一种可能的设计中,响应于对java进程的对象分析指令,基于预设的java进程监控工具,确定所述java进程的堆文件,包括:

7、响应于对java进程的对象分析指令,确定所述java进程对应的目标接口;

8、通过所述java进程对应的目标接口,将所述预设的java进程监控工具连接至所述java进程,得到所述java进程的堆内存;

9、对所述堆内存进行转储处理,得到所述java进程的堆文件。

10、在一种可能的设计中,对所述堆内存进行转储处理,得到所述java进程的堆文件,包括:

11、响应于对堆内存的转储指令,对所述堆内存进行转储处理,得到所述java进程的堆文件;或者,

12、根据预设的转储周期,对所述堆内存进行转储处理,得到所述java进程的堆文件。

13、在一种可能的设计中,还包括:

14、将所述堆文件存储至预设的堆文件存储服务器中。

15、在一种可能的设计中,基于预设的文件解析工具,对所述java进程的堆文件进行解析处理,得到所述java进程对应的原始数据,包括:

16、基于预设的文件解析工具,从所述java进程的堆文件中读取数据项;其中,所述数据项表示堆文件中的组成元素;

17、调用预设的对象处理接口,基于预设的数据读取规则,从所述数据项中读取对象的原始数据;其中,所述预设的数据读取规则中包括数据项中待读取的字段,所述原始数据为待读取的字段的字段内容。

18、在一种可能的设计中,根据所述java进程对应的原始数据,确定对象间的依赖关系,包括:

19、根据所述java进程对应的原始数据,确定所述java进程的对象集合;其中,所述对象集合中包括多个对象,所述对象集合中的对象的类型为单例对象;

20、遍历所述对象集合,并从所述原始数据中确定所述对象集合中每一单例对象对应的第一字段的字段信息和第二字段的字段信息;其中,所述原始数据中包括多种字段的字段信息,所述第一字段表征实例名称,所述第二字段表征数据类型;

21、若所述第二字段的字段信息为预设的数据类型,则从所述原始数据中确定与所述第一字段的字段信息对应的实例,为目标对象;其中,所述目标对象为与单例对象存在依赖关系的对象;

22、根据所述单例对象和对应的目标对象,得到对象间的依赖关系。

23、在一种可能的设计中,根据所述java进程对应的原始数据,确定所述java进程的对象集合,包括:

24、从所述java进程对应的原始数据中获取所有类组成的集合,作为类集合;

25、确定所述类集合中每一类所对应的第一字段的字段信息;

26、从所述原始数据中确定与所述第一字段的字段信息对应的第三字段的字段信息;其中,所述第三字段表征字符串;

27、若所述第三字段的字段信息为预设的字符串,则确定所述类在所述类集合中的排序位置;

28、从所述原始数据的预设数组中获取位于所述排序位置处的字段信息;其中,所述预设数组中的字段信息表征实例对象,所述实例对象为单例对象;

29、根据所述位于所述排序位置处的字段信息,得到所述对象集合。

30、在一种可能的设计中,还包括:

31、确定所述目标对象所对应的实例对象的类型;其中,所述实例对象的类型为映射关系类型或集合关系类型;

32、根据所述目标对象对应的实例对象类型,在所述目标对象和对应的单例对象的依赖关系中添加预设的关系标识;其中,所述关系标识表征实例对象的类型。

33、在一种可能的设计中,还包括:

34、若确定出所述单例对象对应的目标对象,则在所述对象集合中为所述单例对象添加预设的对象标识;其中,所述预设的对象标识表征在遍历到单例对象时,不对该单例对象进行目标对象的检索。

35、在一种可能的设计中,对象间的依赖关系为正向依赖关系,所述正向依赖关系表征单例对象依赖于对应的目标对象;所述方法还包括:

36、根据所述对象间的依赖关系,确定逆向依赖关系;其中,所述逆向依赖关系表征目标对象被依赖于对应的单例对象。

37、在一种可能的设计中,还包括:

38、根据对象间的依赖关系,基于预设的图形表达形式,生成依赖关系拓扑图,并将所述依赖关系拓扑图显示于可视化界面上,供用户进行查看;其中,所述依赖关系拓扑图表征对象间的依赖关系。

39、第二方面,本技术提供一种基于java的对象间关系的确定装置,包括:

40、堆文件确定模块,用于响应于对java进程的对象分析指令,基于预设的java进程监控工具,确定所述java进程的堆文件;其中,所述对象分析指令用于指示得到对象间的依赖关系,所述对象表征java进程中类的具体实例,所述预设的java进程监控工具用于对java进程进行内存监控,所述堆文件表征堆内存的使用情况;

41、堆文件解析模块,用于基于预设的文件解析工具,对所述java进程的堆文件进行解析处理,得到所述java进程对应的原始数据;其中,所述原始数据表征对象的属性;

42、关系确定模块,用于根据所述java进程对应的原始数据,确定对象间的依赖关系。

43、第三方面,本技术实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的基于java的对象间关系的确定方法。

44、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的基于java的对象间关系的确定方法。

45、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的基于java的对象间关系的确定方法。

46、本技术提供的一种基于java的对象间关系的确定方法、装置、设备及存储介质,通过响应对java进程的对象分析指令,基于预设的java进程监控工具,得到java进程的堆文件。采用预设的文件解析工具,对java进程的堆文件进行解析处理,从而能够结合堆内存结构特点,从堆文件中获取一系列的堆转储对象的原始数据。根据java进程对应的原始数据,对各个对象之间进行原始数据的分析,得到对象间的依赖关系。通过解析出原始数据,避免在分析依赖关系时信息遗漏的问题出现,提高对依赖关系的确定精度,使开发人员更好地理解自己所开发的项目的体系结构,提高对依赖关系的管理精度,满足实际java管理需求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1