问题:
找到检索完整列表的方法加载到 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中文网其他相关文章!