Objektgröße in Java messen
In Java ist die Bestimmung des Speicherverbrauchs eines Objekts nicht so einfach wie in Sprachen wie C/C wo die Funktion sizeof() verwendet werden kann. Es gibt jedoch einen alternativen Ansatz mit dem Paket java.lang.instrumentation.
Dieses Paket bietet eine vielseitige Methode zum Erhalten einer implementierungsspezifischen Annäherung an die Größe eines Objekts, einschließlich des damit verbundenen Overheads:
<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>
Um diese Funktionalität zu nutzen, rufen Sie einfach getObjectSize() wie folgt auf:
<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>
Dieser Ansatz bietet eine robuste Möglichkeit, den Speicherverbrauch von Java abzuschätzen Objekte, die es Entwicklern ermöglichen, Datenstrukturen effektiv zu analysieren und zu optimieren.
Das obige ist der detaillierte Inhalt vonWie misst man die Größe von Objekten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!