在Java 中測量物件大小
在Java 中,確定物件的記憶體消耗並不像C/C 等語言那麼簡單其中可以使用sizeof() 函數。但是,存在使用 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>
要使用此功能,只需調用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物件的記憶體消耗,使開發人員能夠有效地分析和最佳化資料結構。
以上是Java中如何測量物件的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!