[发明专利]一种Java程序性能问题定位方法及装置在审
| 申请号: | 202010759853.9 | 申请日: | 2020-07-31 |
| 公开(公告)号: | CN111858068A | 公开(公告)日: | 2020-10-30 |
| 发明(设计)人: | 刘星辰;吕潘锋 | 申请(专利权)人: | 重庆紫光华山智安科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/36 |
| 代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 代玲 |
| 地址: | 400700 重庆市*** | 国省代码: | 重庆;50 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 java 程序 性能 问题 定位 方法 装置 | ||
1.一种Java程序性能问题定位方法,其特征在于,包括:
获取JVM堆内存信息,包括:JVM堆内存中对象的对象属性以及对象之间的引用关系,JVM堆内存中的对象构成对象引用图;
获取所述对象引用图中每个对象类型的内存消耗贡献度PIC;
根据所述内存消耗贡献度PIC确定程序出现性能问题的对象引用路径。
2.根据权利要求1所述的Java程序性能问题定位方法,其特征在于,该方法还包括:检测所述对象引用图中的循环结构,并使用单一节点表示所述循环结构。
3.根据权利要求2所述的Java程序性能问题定位方法,其特征在于,通过强连通分量算法检测所述对象引用图中的循环结构。
4.根据权利要求2所述的Java程序性能问题定位方法,其特征在于,所述单一节点满足以下条件:节点的内存是其所包含对象内存大小的总和、节点包含的对象将作为一个整体以及节点中各个对象的内存大小取平均值。
5.根据权利要求1所述的Java程序性能问题定位方法,其特征在于,所述获取每个对象类型的内存消耗贡献度PIC,包括:
获取每个对象类型的内存消耗和内存支配,根据所述内存消耗与所述内存支配得到该对象类型对程序性能影响的内存消耗贡献度PIC。
6.根据权利要求5所述的Java程序性能问题定位方法,其特征在于,所述内存消耗贡献度
PIC表示为:
PIC=MC×(MD+MC)
其中,MC为内存消耗,MD为内存支配。
7.根据权利要求1所述的Java程序性能问题定位方法,其特征在于,根据所述内存消耗贡献度PIC确定程序出现性能问题的对象引用路径,包括:
针对每一条对象引用路径,通过前向引用分析和后向引用分析判断该对象引用路径是否出现性能问题;
其中,所述前向引用分析为计算某一个对象类型之前所有的对象类型的内存消耗贡献度PIC;所述后向引用分析为计算某一个对象类型之后所有的对象类型的内存消耗贡献度PIC。
8.一种Java程序性能问题定位装置,其特征在于,包括:
信息获取模块,用于获取JVM堆内存信息,包括:JVM堆内存中的对象属性以及对象之间的引用关系,JVM堆内存中的对象构成对象引用图;
贡献度获取模块,用于获取所述对象引用图中每个对象类型的内存消耗贡献度PIC;
定位模块,用于根据所述内存消耗贡献PIC对程序中的问题进行定位。
9.根据权利要求8所述的Java程序性能问题定位装置,其特征在于,还包括:
检测模块,用于检测所述对象引用图中的循环结构,并使用单一节点表示所述循环结构。
10.根据权利要求8所述的Java程序性能问题定位装置,其特征在于,所述定位模块包括:
定位子模块,用于针对每一条对象引用路径,通过前向引用分析和后向引用分析判断该对象引用路径是否出现性能问题;
其中,所述前向引用分析为计算某一个对象类型之前所有的对象类型的内存消耗贡献度PIC;所述后向引用分析为计算某一个对象类型之后所有的对象类型的内存消耗贡献度PIC。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆紫光华山智安科技有限公司,未经重庆紫光华山智安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010759853.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种建筑外墙施工用登高架
- 下一篇:图像像控点精准定位方法





