获取 Java 虚拟机 (JVM) 中加载的类的完整列表可以成为故障排除、分析性能的宝贵资源,并探索应用程序的结构。然而,正如您所提到的,某些类可能最初不会加载,需要动态检索。
虽然 Java 没有提供直接的编程方法来实现这一点,但存在一种替代方法,可以提供全面的视图已加载的类。
java -verbose:class 命令行选项可用于启用类加载活动的详细日志记录。执行时,JVM 会生成详细的输出,其中包括以下信息:
例如,运行以下命令:
java -verbose:class ....
生成与此类似的输出:
[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 中加载的类的全面概述,有助于调试、监视和分析 Java 应用程序。有关 java -verbose:class 选项的更多信息,请参阅 Oracle 官方文档。
以上是如何获取 Java 虚拟机 (JVM) 中加载的类的完整列表?的详细内容。更多信息请关注PHP中文网其他相关文章!