在 Java 中确定对象大小
尽管 sizeOf() 方法在 C/C 等语言中很流行,但 Java 缺乏直接等效的方法用于计算对象的内存占用量。本文探讨了满足此需求的替代方法。
利用 Instrumentation Package
Java Instrumentation API 提供 getObjectSize() 方法,该方法提供特定于对象大小的近似值到其实施。用法示例:
<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>
要使用此方法,请在清单文件中指定以下内容:
<code class="xml"><instrumentation> <main class="ObjectSizeFetcher"> <option name="tools" value="all"/> </main> </instrumentation></code>
从您的应用程序代码中,调用 getObjectSize(),如下所示:
<code class="java">public class C { private int x; private int y; public static void main(String[] args) { System.out.println(ObjectSizeFetcher.getObjectSize(new C())); } }</code>
以上是Java中如何确定对象的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!