有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是一种在类文件中查找对其他类的引用的简单方法

http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html所述的类文件格式包含对constant pool中其他类的所有引用,作为常量_Utf8类型的条目

但这些条目不仅是对类的引用,还包括类文本、方法名、字段等等

在第一次尝试中,我认为使用constant_Class、constant_NameAndType和constant_MethodType类型的其他constant_pool条目引用的constant pool条目就足够了

但这些似乎不包括类型参数和注释。进一步阅读规范似乎表明,我需要解析RuntimeVisibleAnnotations和类似的构造,以便识别相关的常量池条目。这意味着我必须或多或少地解析完整的类文件

但我自己解析类文件背后的整个想法是,它比使用ASM这样的库更简单,因为我认为它足以解释常量池

我的问题是:有没有一种方法可以可靠地识别类文件中引用的所有类,只需解释常量池就可以了


共 (0) 个答案