Heim  >  Artikel  >  Java  >  Wie kann ich die Größe eines Objekts in Java bestimmen?

Wie kann ich die Größe eines Objekts in Java bestimmen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-05 02:30:02190Durchsuche

How Can I Determine the Size of an Object in Java?

Bestimmen der Objektgröße in Java

In Java kann die Bestimmung der Größe eines Objekts im Speicher eine Herausforderung sein, da es keine direkt vergleichbare Methode gibt zu C/Cs sizeOf(). Das java.lang.instrumentation-Paket bietet jedoch einen alternativen Ansatz.

Lösung mit java.lang.instrumentation

Das Instrumentation-Paket enthält eine Methode, die eine Annäherung an liefert die Größe des Objekts. Hier ist ein Beispiel für die Verwendung:

<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 Methode zu verwenden, rufen Sie einfach getObjectSize() mit dem gewünschten Objekt auf:

<code class="java">System.out.println(ObjectSizeFetcher.getObjectSize(new C()));</code>

Fazit

Mit dem Paket java.lang.instrumentation ist es möglich, eine ungefähre Größe eines Objekts in Java zu ermitteln, was Vergleiche von Datenstrukturgrößen oder andere speicherbezogene Optimierungen ermöglicht.

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe eines Objekts in Java bestimmen?. 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