在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中文網其他相關文章!