Mesurez facilement la taille des objets Java

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;
		}
	}
}

Comment utiliser

	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));
		}
	}

Exemple de résultat d'exécution

10
81
60

Recommended Posts

Mesurez facilement la taille des objets Java
Mesurer la taille d'un dossier avec Java
[Java] Supprimer les éléments de la liste
[Édition Java] Histoire de la sérialisation
Trier la liste des objets Java
L'origine des expressions Java lambda
Sortie de la différence entre chaque champ de deux objets en Java
[Lire Java efficace] Chapitre 2 Item 5 "Eviter la création d'objets inutiles"
Obtenez le résultat de POST en Java
Vérifiez le contenu du magasin de certificats Java
Examiner l'utilisation de la mémoire des éléments Java
[Java] Obtenez le jour d'un jour spécifique
Mémo: [Java] Vérifiez le contenu du répertoire
Comparer les éléments d'un tableau (Java)
[jour: 5] J'ai résumé les bases de Java
Quelles sont les fonctionnalités mises à jour de Java 13
Retour sur les bases de Java
Sortie du livre "Introduction à Java"
L'histoire de l'écriture de Java dans Emacs
[Java] Vérifiez le nombre d'occurrences de caractères
[Java] [Spring] Tester le comportement de l'enregistreur
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
JAVA: jar, aar, affichez le contenu du fichier
L'histoire de la fabrication d'un Othello ordinaire à Java
[Android] [Java] Gérer l'état de CheckBox de ListView
A propos de l'ordre de description des propriétés système Java
À propos de l'idée des classes anonymes en Java
[Java] Accéder à l'URL signée de s3 (version signée 2)
L'histoire de l'apprentissage de Java dans la première programmation
[Java] Obtenir la longueur de la chaîne de paire de substitution
[Java] La partie déroutante de String et StringBuilder
[Note] Java: mesure la vitesse de concaténation de chaînes
J'ai comparé les caractéristiques de Java et .NET
[Java] Faites attention au type de clé de la carte
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
[Java] Comment obtenir facilement la plus longue chaîne de caractères d'ArrayList à l'aide de stream
Calculer le score de similarité des chaînes de caractères avec JAVA
Essayez Progate Free Edition [Java II]
[Java / Kotlin] Redimensionner en tenant compte de l'orientation de l'image
La date et l'heure de java8 ont été mises à jour
Mesurez la distance du labyrinthe avec la recherche de priorité de largeur
Importer des fichiers de la même hiérarchie en Java
[Java] Présentation de Java
Première touche de la classe Files (ou Java 8)
Java Bienvenue dans le marais des tableaux bidimensionnels
Essayez Progate Free Edition [Java I]
Java Méthode à usage général qui récupère uniquement les différences entre les propriétés des objets de la même classe
Rêver de créer facilement une API Web pour la base de données d'un système Java existant
[Java] Comment obtenir l'URL de la source de transition
Obtenez l'URL de la destination de la redirection HTTP en Java
CI l'architecture des applications Java / Kotlin avec ArchUnit
Comment écrire Scala du point de vue de Java
Veuillez noter la division (division) de java kotlin Int et Int
La comparaison d'énumération est ==, et equals est bonne [Java]
N'arrondissez pas facilement le résultat d'un calcul fractionnaire
[Java] Vérifiez la version JDK du fichier war construit
[Pour les débutants] Comprendre rapidement les bases de Java 8 lambda
Utiliser des expressions Java lambda en dehors de l'API Stream