Heim  >  Artikel  >  Java  >  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
DDDOriginal
2024-10-26 12:44:02751Durchsuche

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 ....

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]

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!

Stellungnahme:
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