L'obtention d'une liste complète des classes chargées dans la machine virtuelle Java (JVM) peut être une ressource précieuse pour le dépannage et l'analyse des performances , et explorer la structure d'une application. Cependant, comme vous l'avez mentionné, certaines classes peuvent ne pas être chargées initialement et doivent être récupérées dynamiquement.
Bien que Java ne fournisse pas d'approche programmatique simple pour y parvenir, il existe une méthode alternative qui offre une vue complète. des classes chargées.
L'option de ligne de commande java -verbose:class peut être utilisée pour activer une journalisation détaillée de l'activité de chargement de classe. Une fois exécutée, la JVM génère une sortie détaillée qui comprend les informations suivantes :
Par exemple, exécutez la commande suivante :
java -verbose:class ....
Génère une sortie similaire à celle-ci :
[Opened /usr/java/j2sdk1.4.1/jre/lib/rt.jar] [Opened /usr/java/j2sdk1.4.1/jre/lib/sunrsasign.jar] [Opened /usr/java/j2sdk1.4.1/jre/lib/jsse.jar] [Opened /usr/java/j2sdk1.4.1/jre/lib/jce.jar] [Opened /usr/java/j2sdk1.4.1/jre/lib/charsets.jar] [Loaded java.lang.Object from /usr/java/j2sdk1.4.1/jre/lib/rt.jar] [Loaded java.io.Serializable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar] [Loaded java.lang.Comparable from /usr/java/j2sdk1.4.1/jre/lib/rt.jar] [Loaded java.lang.CharSequence from /usr/java/j2sdk1.4.1/jre/lib/rt.jar] [Loaded java.lang.String from /usr/java/j2sdk1.4.1/jre/lib/rt.jar]
En examinant cette sortie, vous peut identifier les classes chargées et leurs packages respectifs. Cette technique fournit un aperçu complet des classes chargées dans la JVM, aidant au débogage, à la surveillance et à l'analyse des applications Java. Pour plus d'informations sur l'option java -verbose:class, reportez-vous à la documentation officielle d'Oracle.
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!