在Jasmin中实例化类

odd*_*din 4 java jvm bytecode jasmin

我试图像这样在Jasmin中实例化一个类:

new Ljava/lang/Object;
dup
invokespecial java/lang/Object/<init>()V
Run Code Online (Sandbox Code Playgroud)

这确实编译但是类vierifier抱怨:

"VerifyError:调用错误的初始化方法."

实例化一个类的正确方法是什么?

odd*_*din 5

啊,我发现了问题:

'new'的参数应该是类型的纯限定名称,而不是它的装饰名称.I. e.代替

new Ljava/lang/Object;
Run Code Online (Sandbox Code Playgroud)

你应该写:

new java/lang/Object
Run Code Online (Sandbox Code Playgroud)

工作代码是:

new java/lang/Object
dup
invokespecial java/lang/Object/<init>()V
Run Code Online (Sandbox Code Playgroud)