出于某些分析目的,我需要对象在运行时使用的内存。我使用的是 netbeans 5.1,它不支持分析,并且由于项目兼容性,我无法使用更高版本的 netbeans。请为此提出一些替代方案并提供详细说明。
最佳答案
这只是为了了解其工作原理:
例如,如果您有这样的类(class):
public class A{
int i;
long l;
double a[]=new double[N];
}
内存成本如下:
1) 对象开销:16 字节
2) 对于 int i :4 个字节
3) 对于长l:8 个字节
4) 对于 double a 类型的数组:8*N(double 的 8 个字节*数组中元素的数量)+24 字节开销+8 字节对数组的引用
5) 现在添加填充字节,使字节总和可被 8 整除。
其他原语也类似。
关于java - java中获取对象的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815329/