当前位置: 首页 > 面试题库 >

Java 获取JVM中加载的所有类的列表

空佐
2023-03-14
问题内容

我想获得属于某个包的所有类及其所有子级的列表。这些类可能已经或可能尚未加载到JVM中。


问题答案:

这不是编程解决方案,但你可以运行

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实例当前加载了哪些类会很方便。 例如,有没有办法通过JVisualVM获取它们? 编辑:我知道@Java给出的解决方案-获取JVM中加载的所有类的列表,但我想知道是否有办法通过JVisualVM或其他工具实现这一点。目前,我正在处理一个RCP应用程序,我宁愿不必通过java工具运行应用程序(是的,我很懒)。

  • 问题内容: 出于调试原因和好奇心,我希望列出所有加载到特定类加载器的类。 鉴于类加载器的大多数方法都受到保护,实现我想要的最佳方法是什么? 谢谢! 问题答案: 可以做你想要的。 根据文档: 返回所有类的数组,这些类的加载程序是初始加载程序。 我不确定“启动加载程序”是什么意思。如果这样不能给出正确的结果,请尝试使用该方法并通过ClassLoader手动进行过滤。 如何获得的实例 只有代理JAR(与

  • 问题内容: 我想获取一个类具有的导入列表。由于编译器已将其删除,因此我想通过反射可以遍历该类,其方法,字段等,并收集一个类列表,这些类对于类加载器加载类是必需的。您是否可以向我指出某种库,教程或文章,以便更好地了解如何做到这一点?(我知道有人问过类似的问题,但是我找不到合适的答案,我很确定这是可能的)。我看到了一些示例,这些示例显示了如果有消息来源,您将如何做到这一点,但是在我的情况下,情况不一定

  • 问题内容: 我有一个对象列表,其中每个对象返回。我如何使用Java 8流仅获得一个? 类具有以下方法; 我有 我正在尝试的是 但是上面的行没有返回 ,而是 我不想要的。 问题答案: 您应该用来从包含在主列表中每个对象中的列表中创建一个列表。请检查; 该调用适用于列表中包含with 的情况,因为这将导致下一行,因此我们应该将其过滤掉。还有其他方法可以实现这一点; -- -- 您可以按如下方式包含来自

  • 问题内容: 我有一个类,我想找到它的所有 公共字段 (不是方法)。我怎样才能做到这一点? 谢谢! 问题答案: 返回该类的所有公共变量的数组。 返回整个类继承中的字段。如果要仅在相关类中定义字段,而不在其超类中定义字段,请使用,并通过以下方法过滤它们: 的字面实际上代表类型的对象。检查其文档以获取更多有趣的反射方法。 上面的类是。您可以查看整个程序包。

  • 问题内容: 获取Oracle中所有表的列表? 问题答案: 假设您有权访问DBA_TABLES数据字典视图。如果您没有这些特权但需要它们,则可以请求DBA显式授予您对该表的特权,或者请求DBA授予您该SELECT ANY DICTIONARY特权或SELECT_CATALOG_ROLE角色(这两者都将允许您查询任何数据字典表) )。当然,您可能希望排除某些模式,例如SYS和模式,SYSTEM而这些模