Ermitteln der Größe von Objekten in Java
In Java stellt sich beim Vergleich von Datenstrukturen häufig die Frage nach der Bestimmung des Speicherbedarfs eines Objekts . Allerdings fehlt Java im Gegensatz zu C/C mit seiner sizeOf()-Methode eine explizite Methode für diesen Zweck.
Lösung: Verwendung von java.lang.instrumentation
Der Mangel einer in Java integrierten Methode erfordert einen alternativen Ansatz. Eine geeignete Lösung ist die Nutzung des Pakets java.lang.instrumentation. Dieses Paket stellt eine Methode bereit, die eine implementierungsspezifische Annäherung an die Größe eines Objekts zusammen mit dem damit verbundenen Overhead liefert.
Codebeispiel:
Der folgende Codeausschnitt demonstriert dies Verwendung des Pakets java.lang.instrumentation zum Abrufen von Objektgrößen:
<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 die Größe eines Objekts zu bestimmen, verwenden Sie einfach die Methode 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>
Das obige ist der detaillierte Inhalt vonWie bestimme ich die Größe von Objekten in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!