我正在尝试使用我自己的自定义加载器并在反射的帮助下执行程序。很少有程序可以正常工作,但是很少有程序会出现此错误..
Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: (class:
employeeTestTemp/CommissionedEmployee, method: setCommissionRate
signature: (D)V) Register pair 1/2 contains wrong type at
java.lang.Class.getDeclaredMethods0(Native Method) at
java.lang.Class.privateGetDeclaredMethods(Unknown Source) at
java.lang.Class.getMethod0(Unknown Source) at
java.lang.Class.getMethod(Unknown Source)...
虽然同一个程序在使用默认的 java 加载器执行时工作得非常好。 请帮忙... 提前致谢..
最佳答案
我在字节码程序上遇到了此错误消息,根本原因是当我的代码访问它的后半部分时,双倍占用了两个插槽。 我的乌龙错误代码是:
.class Test
.method static run(DDDD) D
.limit locals 8
dload_0
dload_1
dmul
dload_2
dadd
dload_0
dmul
dload_3
dadd
dreturn
.end method
我猜测是优化器导致的,建议你用不同配置的jdk重新编译或者使用不同的jdk。
关于java - 使用自定义加载程序出现错误 "Register pair 1/2 contains wrong type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9945176/