Heim > Java > javaLernprogramm > Wie erhalte ich eine umfassende Liste der in die Java Virtual Machine (JVM) geladenen Klassen?

Wie erhalte ich eine umfassende Liste der in die Java Virtual Machine (JVM) geladenen Klassen?

DDD
Freigeben: 2024-10-26 12:44:02
Original
888 Leute haben es durchsucht

How to Get a Comprehensive List of Classes Loaded in the Java Virtual Machine (JVM)?

Java Get List of Classes in JVM

Das Abrufen einer umfassenden Liste der in die Java Virtual Machine (JVM) geladenen Klassen kann eine wertvolle Ressource für die Fehlerbehebung und Leistungsanalyse sein und Erkunden der Struktur einer Anwendung. Wie Sie bereits erwähnt haben, werden bestimmte Klassen jedoch möglicherweise zunächst nicht geladen und müssen dynamisch abgerufen werden.

Während Java keinen einfachen programmatischen Ansatz bietet, um dies zu erreichen, gibt es eine alternative Methode, die eine umfassende Ansicht bietet der geladenen Klassen.

Die Befehlszeilenoption java -verbose:class kann verwendet werden, um eine detaillierte Protokollierung der Klassenladeaktivität zu ermöglichen. Bei der Ausführung generiert die JVM eine detaillierte Ausgabe, die die folgenden Informationen enthält:

  • Namen der geöffneten JAR-Dateien, aus denen Klassen geladen werden
  • Namen der geladenen Klassen und ihre jeweiligen Speicherorte darin die JAR-Dateien

Zum Beispiel das Ausführen des folgenden Befehls:

java -verbose:class ....
Nach dem Login kopieren

Generiert eine Ausgabe ähnlich dieser:

[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]
Nach dem Login kopieren

Durch die Untersuchung dieser Ausgabe werden Sie kann die geladenen Klassen und ihre jeweiligen Pakete identifizieren. Diese Technik bietet einen umfassenden Überblick über die in der JVM geladenen Klassen und hilft beim Debuggen, Überwachen und Analysieren von Java-Anwendungen. Weitere Informationen zur Java-Option -verbose:class finden Sie in der offiziellen Oracle-Dokumentation.

Das obige ist der detaillierte Inhalt vonWie erhalte ich eine umfassende Liste der in die Java Virtual Machine (JVM) geladenen Klassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage