在 Java 中尋找物件的大小
在 Java 中,在比較資料結構時經常出現確定物件記憶體佔用的問題。然而,與 C/C 的 sizeOf() 方法不同,Java 缺乏用於此目的的明確方法。
解決方案:利用 java.lang.instrumentation
缺乏Java 中的內建方法需要替代方法。一個合適的解決方案是利用 java.lang.instrumentation 套件。此套件提供了一種方法,可以提供物件大小的特定於實現的近似值以及任何相關的開銷。
程式碼範例:
以下程式碼片段示範了使用java.lang.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>
要確定物件的物件大小:
<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中文網其他相關文章!