我已经生成了两个java字节码文件1.class和2.class,如果使用十六进制文件查看器检查它们,它们是不同的:

然而,反编译的p代码都是相同的:
我还可以使用jd将它们反编译成Java源代码,同样,两个字节代码文件生成完全相同的Java源代码:

因此,它看起来很好,但是当我将字节码的两个副本加载到类加载器中时,1.class副本会给出以下错误:

有人有线索吗?
发布于 2015-01-27 11:48:44
如果使用javap -l打印行号信息,则可以发现2.class具有doIt(String, String, AppContext)的下列行号表
LineNumberTable:
line 56: 0
line 57: 11
line 58: 19
line 60: 23
line 61: 65根据这一点,行号61链接到字节码索引65,而相同的方法仅由总共64字节定义。因此,此表不能正确,因此将引发验证程序错误。
https://stackoverflow.com/questions/28167072
复制相似问题