参见英文答案 >
In Java,what is the best way to determine the size of an object?22
我正在计算一个java对象[hashmap]的大小[memory used].它包含不同数据类型的元素[在运行时],所以[no-of-elem * size-of-element]不是一个好办法.现在的代码是通过一系列的
我正在计算一个java对象[hashmap]的大小[memory used].它包含不同数据类型的元素[在运行时],所以[no-of-elem * size-of-element]不是一个好办法.现在的代码是通过一系列的
if (x) do something else if (primitives) lookup size and calculate
然而,这个过程是一个cpu猪和效率.
我正在考虑采用以下两种方法:
>将对象序列化到缓冲区并获取大小.
>查看java.lang.instrument以获取大小
我正在寻找任何人的经验,这些方法的性能,效率,缩放等或如果你知道更好的方法.
P.S:
这是一个我正在构建的背景实用程序,所以大小不需要超级准确,尽管它应该是正确的.所以我愿意交易性能的准确性
我对深度不感兴趣(这个对象所指的对象的大小将不会计算出来.)
我正在寻找一个性能比较和理解getObjectSize()在内部工作..我不会搞砸别的东西来提高性能
谢谢