[发明专利]一种适用于依赖分析工具的内存预测方法及装置有效
| 申请号: | 201910400746.4 | 申请日: | 2019-05-15 |
| 公开(公告)号: | CN110187967B | 公开(公告)日: | 2022-08-05 |
| 发明(设计)人: | 韩承锋;唐云善;邹旎彬;陈皓立;张帆;杨林;赵燕 | 申请(专利权)人: | 南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司;国家电网有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林;张赏 |
| 地址: | 210003 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 适用于 依赖 分析 工具 内存 预测 方法 装置 | ||
1.一种适用于依赖分析工具的内存预测方法,其特征在于,包括以下步骤:
从Java程序包文件中提取源代码文件;
对所述源代码文件进行分析,为每个源代码文件生成抽象语法树;
统计每个抽象语法树中每个种类的节点类的实例对象数量;
计算抽象语法树中每个种类的节点类实例对象占用内存大小;
根据抽象语法树中每个种类的节点类实例对象占用内存大小计算每个源代码文件生成的抽象语法树占用内存大小;
根据每个源代码文件生成的抽象语法树占用内存大小计算整个Java程序包所需内存大小。
2.根据权利要求1所述的一种适用于依赖分析工具的内存预测方法,其特征在于,所述为每个源代码文件生成抽象语法树的过程为:
JavaParser工具使用字符流形式读取源代码文件的字符信息,读入的字符流通过词法分析器、语法分析器以及语义分析器进行分析判断,不断生成抽象语法树的节点类的实例对象,直到整个源代码文件被读取完毕。
3.根据权利要求1所述的一种适用于依赖分析工具的内存预测方法,其特征在于,所述抽象语法树的节点类的种类包括以下一种或多种:
Body种类;Expr种类;Comments种类;Stmt种类;Tpye种类;由Range类、Position类、TokenRange类和JavaToken类组成的基础种类。
4.根据权利要求1所述的一种适用于依赖分析工具的内存预测方法,其特征在于,每个种类下的节点类实例对象所占内存相同。
5.根据权利要求1所述的一种适用于依赖分析工具的内存预测方法,其特征在于,节点类实例对象占用内存分为对象头占用内存、实例数据占用内存和对齐填充占用内存;
所述对象头占用内存为12bytes;
所述实例数据包括原生类型和reference类型;
所述原生类型实例数据占用内存分别为:
boolean:1bytes;
byte:1bytes;
short:2bytes;
char:2bytes;
int:4bytes;
float:4bytes;
long:8bytes;
double:8bytes;
所述reference类型实例数据占用内存为4bytes;
所述对齐填充占用内存是指,在对象头和实例数据占用内存不为8bytes倍数的情况下补齐所占用的内存。
6.根据权利要求5所述的一种适用于依赖分析工具的内存预测方法,其特征在于,所述节点类实例对象占用内存计算如下:
RAMk=12bytes+tk实例bytes+tk填充bytes
其中,RAMk表示节点类k的实例对象所占内存,k为Body种类、Expr种类、Comments种类、Stmt种类、Tpye种类以及TokenRange类、Range类、Position类,tk实例表示节点类k的实例对象的实例数据所占内存,tk填充表示节点类k的实例对象的对齐填充所占内存;
如果实例数据为原生类型,则tk实例为所有原生类型的实例数据所占内存之和,如果实例数据为reference类型,则tk实例=4tytes×wk,wk为reference类型的实例数据个数;
其中,RAMJavaToken为JavaToken类实例对象所占内存,NumChar表示在JavaToken类中存储抽象语法树具体信息的String对象中字符串的字符数量,C2表示String对象的对齐填充字符数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司;国家电网有限公司,未经南瑞集团有限公司;南京南瑞信息通信科技有限公司;国网江苏省电力有限公司;国家电网有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910400746.4/1.html,转载请声明来源钻瓜专利网。





