在 Java 中确定对象大小
在 Java 中,确定内存中对象的大小可能具有挑战性,因为没有直接的方法可以比较到 C/C 的 sizeOf()。但是,java.lang.instrumentation 包提供了另一种方法。
使用 java.lang.instrumentation 的解决方案
instrumentation 包包含一个方法,该方法提供了近似值物体的大小。以下是如何使用它的示例:
<code class="java">import java.lang.instrument.Instrumentation; public class ObjectSizeFetcher { private static Instrumentation instrumentation; public static void premain(String args, Instrumentation inst) { instrumentation = inst; } public static long getObjectSize(Object o) { return instrumentation.getObjectSize(o); } }</code>
要使用此方法,只需使用所需的对象调用 getObjectSize() 即可:
<code class="java">System.out.println(ObjectSizeFetcher.getObjectSize(new C()));</code>
结论
使用 java.lang.instrumentation 包,可以获得 Java 中对象的近似大小,从而可以比较数据结构大小或其他与内存相关的优化。
以上是如何确定 Java 中对象的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!