Messen Sie einfach die Größe von Java-Objekten

Code

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;

public class ObjectUtils {
	public static int getObjectSize(Object o) {
		ObjectOutput out = null;
		try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
			out = new ObjectOutputStream(bos);
			out.writeObject(o);
			out.flush();
			byte[] b = bos.toByteArray();
			return b.length;
		} catch (IOException e) {
			return -1;
		}
	}
}

Wie benutzt man

	public static void main(String[] args) {
		{
			String o = "ABC";
			System.err.println(ObjectUtils.getObjectSize(o));
		}
		{
			Integer o = 100;
			System.err.println(ObjectUtils.getObjectSize(o));
		}
		{
			String[] o = { "ABC", "ABC", "ABC" };
			System.err.println(ObjectUtils.getObjectSize(o));
		}
	}

Beispiel für ein Ausführungsergebnis

10
81
60

Recommended Posts

Messen Sie einfach die Größe von Java-Objekten
Messen Sie die Größe eines Ordners mit Java
[Java] Löschen Sie die Elemente von List
[Java Edition] Geschichte der Serialisierung
Liste der Java-Objekte sortieren
Der Ursprung von Java-Lambda-Ausdrücken
Geben Sie die Differenz zwischen jedem Feld zweier Objekte in Java aus
[Read Effective Java] Kapitel 2 Punkt 5 "Vermeiden Sie die Erstellung unnötiger Objekte"
Holen Sie sich das Ergebnis von POST in Java
Überprüfen Sie den Inhalt des Java-Zertifikatspeichers
Untersuchen Sie die Speichernutzung von Java-Elementen
[Java] Ermittelt den Tag eines bestimmten Tages
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Vergleichen Sie Elemente eines Arrays (Java)
[Tag: 5] Ich habe die Grundlagen von Java zusammengefasst
Was sind die aktualisierten Funktionen von Java 13
Rückblick auf die Grundlagen von Java
Ausgabe des Buches "Einführung in Java"
Die Geschichte des Schreibens von Java in Emacs
[Java] Überprüfen Sie die Anzahl der Zeichen
[Java] [Spring] Testen Sie das Verhalten des Loggers
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
JAVA: jar, aar, zeige den Inhalt der Datei an
Die Geschichte eines gewöhnlichen Othello in Java
[Android] [Java] Verwalten Sie den Status der CheckBox von ListView
Informationen zur Beschreibungsreihenfolge der Java-Systemeigenschaften
Über die Idee anonymer Klassen in Java
[Java] Zugriff auf die signierte URL von s3 (signierte Version 2)
Die Geschichte des Lernens von Java in der ersten Programmierung
[Java] Ermittelt die Länge der Ersatzpaarzeichenfolge
[Java] Der verwirrende Teil von String und StringBuilder
[Hinweis] Java: Messen Sie die Geschwindigkeit der Zeichenfolgenverkettung
Ich habe die Eigenschaften von Java und .NET verglichen
[Java] Achten Sie auf den Schlüsseltyp der Karte
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
Berechnen Sie die Ähnlichkeitsbewertung von Zeichenketten mit JAVA
Probieren Sie Progate Free Edition [Java II]
[Java / Kotlin] Ändern Sie die Größe unter Berücksichtigung der Ausrichtung des Bildes
Das Datum und die Uhrzeit von java8 wurden aktualisiert
Messen Sie den Abstand des Labyrinths mit der Suche nach Breitenpriorität
Importieren Sie Dateien derselben Hierarchie in Java
[Java] Übersicht über Java
Erster Touch der Files-Klasse (oder Java 8)
Java Willkommen im Sumpf der zweidimensionalen Arrays
Probieren Sie Progate Free Edition [Java I]
Java Allzweckmethode, die nur die Unterschiede zwischen den Eigenschaften von Objekten derselben Klasse abruft
Träumen Sie davon, einfach eine Web-API für die Datenbank eines vorhandenen Java-Systems zu erstellen
[Java] So erhalten Sie die URL der Übergangsquelle
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
CI die Architektur von Java / Kotlin-Anwendungen mit ArchUnit
Wie schreibe ich Scala aus der Perspektive von Java
Bitte beachten Sie die Aufteilung (Aufteilung) von Java Kotlin Int und Int
Der Vergleich von enum ist == und gleich ist gut [Java]
Runden Sie das Ergebnis einer Bruchberechnung nicht einfach ab
[Java] Überprüfen Sie die JDK-Version der erstellten Kriegsdatei
[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda
Verwenden Sie Java-Lambda-Ausdrücke außerhalb der Stream-API