java - java中获取对象的内存使用情况

标签 java

出于某些分析目的,我需要对象在运行时使用的内存。我使用的是 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/

相关文章:

java - 在 Jaxb 解码时希望未知属性出错

java - OAuth 2 是保护无需社交登录的简单 Web 应用程序的方法吗?

java - 检查文件扩展名是否为 .txt 的程序

java - 使用 RS256 生成 token ,Jwts.builder().signWith() 产生无效签名

java - 如果包含其他数据则显示列表 AlertDialog

java - 计算快速排序比较

java - 将巨大的 XML 文件从 DOM 写入文件

java - 将 List<Map> 转换为 List<Map<String,Object>>

java - hibernate Jndi Tomcat 错误 : Not supported by BasicDataSource

java - 如何调用包含 Graphics g 的函数