Maison > Java > javaDidacticiel > Comment déterminer la taille des objets en Java ?

Comment déterminer la taille des objets en Java ?

Linda Hamilton
Libérer: 2024-11-04 20:15:02
original
872 Les gens l'ont consulté

How to Determine the Size of Objects in Java?

Trouver la taille des objets en Java

En Java, la question de déterminer l'empreinte mémoire d'un objet se pose fréquemment lorsqu'on compare des structures de données . Cependant, contrairement à C/C avec sa méthode sizeOf(), Java ne dispose pas d'une méthode explicite à cet effet.

Solution : Utiliser java.lang.instrumentation

Le manque d'une méthode intégrée à Java nécessite une approche alternative. Une solution appropriée consiste à exploiter le package java.lang.instrumentation. Ce package fournit une méthode qui fournit une approximation spécifique à l'implémentation de la taille d'un objet, ainsi que toute surcharge associée.

Exemple de code :

L'extrait de code suivant illustre le utilisation du package java.lang.instrumentation pour récupérer les tailles d'objets :

<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>
Copier après la connexion

Pour déterminer la taille d'un objet, utilisez simplement la méthode 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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal