使用自定义加载程序获取错误“寄存器对1/2包含错误类型”

时间:2012-03-30 14:43:02

标签: java awt

我正在尝试使用自己的自定义加载程序并在反射的帮助下执行程序。很少有程序工作正常,但很少有我收到此错误..

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加载程序执行时,相同的程序工作正常。 请帮忙... 提前谢谢..

1 个答案:

答案 0 :(得分:0)

我在一个字节码程序上遇到了这个错误信息,根本原因是我需要两个插槽,而我的代码访问它的后半部分。 我的Oolong错误代码是:

.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。