Heim >Java >javaLernprogramm >Wie bestimme ich die Größe von Objekten in Java?

Wie bestimme ich die Größe von Objekten in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 20:15:02835Durchsuche

How to Determine the Size of Objects in Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn