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

获取要加载的类的必要类的列表

慕学海
2023-03-14
问题内容

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

提前谢谢了!


问题答案:

不,反思无济于事

void test() {
    Date date = new Date();
}

您无法检测到Date在反射方法内部使用。但是您可以使用Javassist https://github.com/jboss-
javassist/javassist

    ClassPool cp = ClassPool.getDefault();
    Collection classes = cp.get("test.Test").getRefClasses();

这段代码生成了test.Test类中引用的所有类的名称的集合。



 类似资料:
  • 问题内容: 我想获得属于某个包的所有类及其所有子级的列表。这些类可能已经或可能尚未加载到JVM中。 问题答案: 这不是编程解决方案,但你可以运行 然后JVM会丢弃它正在加载的内容以及从何处卸载。

  • 我正在尝试向我的Xcode项目添加一个pod。我收到这个错误: LoadError——没有这样的文件要加载——xcodeproj/prebuild/universal-darwin13。0-1.8.7/xcodeproj_ext/Library/Ruby/Site/1.8/rubygems/core_ext/kernel_require。rb:55:inrequire'/Library/Ruby/

  • 问题内容: 假设我在JVM中有一个已加载的类。是否有 可靠的 方法向JVM请求 字节码 .class的内容?即是这样的: (显然,会和一样好)。我知道我可以使用(和朋友们)来获取类文件,但是锤击类名称以获取要馈送给getResource的URL感觉是错误的。另外,我不确定在动态生成(例如使用)的情况下的行为。 有什么更好的主意吗? 注意:目标是能够推动 字节码 类到另一个JVM并使用自定义类加载器

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

  • 项目详细信息:使用JavaBridge完成任务的PHP项目。我对这个项目的更新只包含PHP文件。 我已经看到了许多线程。我的java编译版本是JDK1.6,在我的服务器上运行的Java版本是: 我对这在我的设备上本地工作感到非常沮丧,但是当我在服务器上运行它失败时,tomacat日志提供了以下内容:

  • PyGTK模块包含各种小部件。 gtk.Object类充当大多数小部件以及一些非小部件类的基类。 使用PyGTK的桌面应用程序的顶层窗口由gtk.Window类提供。 下表列出了重要的小部件及其功能 - S.NO 类和描述 1 gtk.Widget 这是所有PyGTK小部件的gtk.base类。 gtk.Widget为小部件提供了一组通用的方法和信号。 2 gtk.Window 这是一个包含一个子