可能重复:
Programatically calculate memory occupied by a Java Object including objects it references
In Java, what is the best way to determine the size of an object?
您好
java中没有sizeof运算符.. 但是我怎么知道java中对象的大小呢? 感谢
答案 0 :(得分:1)
您可以将对象序列化为字节数组输出流。
这不会给你对象的确切大小,因为它会跳过瞬态数据,但至少可以让你很好地了解对象的大小。
答案 1 :(得分:1)
你做不到。内部表示是特定于JVM的。如果你想对你的JVM进行经验估计,你可以试试这个:1)打开详细的垃圾收集器输出(参见JVM标志)2)在你的程序中调用一个完整的GC 3)创建同一个对象的很多副本4)再次调用完整的GC 5)比较步骤2和4之后的堆大小并除以对象数
答案 2 :(得分:1)
没有可移植的直接方式,JVM之间的答案也不同(因为规范对实现细节没有提及)。
此处an excellent article显示了一种方法。
答案 3 :(得分:0)
我的第一个问题是你在做什么需要sizeof?你没有指法可以操纵,所以你真的没有必要知道。
SO重复?:In Java, what is the best way to determine the size of an object?