如何在不加载的情况下检查Java类?

时间:2012-02-29 23:21:19

标签: java

我想加载一些Java .class文件并从中提取信息。我不想因为多种原因加载它们,尤其是性能。然后,我想检查它们,看看它们有什么注释,字段,方法等。

有谁能建议哪种工具最适合这个?

3 个答案:

答案 0 :(得分:4)

如何使用ASMBCEL等字节码操作工具?两者都支持读取和写入类文件,而无需通过类加载器加载它们。

答案 1 :(得分:0)

与类加载相比,我认为ASM或BECL不会提高性能。 如果在另一个(不是说)原因中,你有类路径问题,你可以使用新的类加载器(http://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html#defineClass(java.lang.String,byte [],int,int)从输入流加载它。)

答案 2 :(得分:0)

Spring类路径扫描程序使用ASM,你可以通过查看Spring的源代码(处理程序)来了解它是如何工作的