ホームページ  >  記事  >  Java  >  特定のパッケージとその子孫からのクラスを含む、JVM にロードされたすべてのクラスの完全なリストを取得するにはどうすればよいですか?

特定のパッケージとその子孫からのクラスを含む、JVM にロードされたすべてのクラスの完全なリストを取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-25 07:13:02380ブラウズ

How can I get a complete list of all classes loaded in the JVM, including those from specific packages and their descendants?

JVM にロードされたクラスの包括的なリストを取得する

質問:

完全なリストを取得するメソッドの検索以前のロード ステータスに関係なく、JVM にロードされるすべてのクラスのロードが共通の要件です。このリストには、特定のパッケージに属するクラスとその子孫が含まれている必要があります。

答え:

プログラムによる直接的な解決策はないかもしれませんが、便利な代替手段が存在します。

「-verbose:class」コマンドライン オプションの使用:

次のコマンドを実行します:

java -verbose:class ....

JVM は、ロードされているすべてのクラスとそれらのクラスの取得先の場所の詳細な読み取り。そのような出力の例を次に示します。

[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]

この出力は、クラスのロード プロセスとソースの場所を明確に示しています。

詳細については、次を参照してください: [JVM -verbose Argument]ドキュメント](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html#verbose).

以上が特定のパッケージとその子孫からのクラスを含む、JVM にロードされたすべてのクラスの完全なリストを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。