【发布时间】:2010-03-12 06:03:01
【问题描述】:
我有一个由其他几个对象组合而成的对象。当我使用 Instrumentation 包中的 getObjectSize() 方法时,它是否还包括复合对象的大小?
【问题讨论】:
标签: java instrumentation objectsize
我有一个由其他几个对象组合而成的对象。当我使用 Instrumentation 包中的 getObjectSize() 方法时,它是否还包括复合对象的大小?
【问题讨论】:
标签: java instrumentation objectsize
API doc 说:
结果可能包括对象的部分或全部开销,因此可用于在实现内部进行比较,但不适用于实现之间的比较。估计值可能会在 JVM 的单次调用期间发生变化。
【讨论】:
没有。返回的大小反映了该对象的大小——它包括该对象持有的引用,但不包括被引用的对象的大小。 (而且,正如其他人所指出的,不能保证它实际上是正确的。)
【讨论】:
getObjectSize(Object obj) 返回指定对象 (obj) 消耗的存储空间...因此您将获得您指定的大小。
【讨论】: