# creates new instance of SecretKeySpec in register v8
new-instance v8, Ljavax/crypto/spec/SecretKeySpec;
# store contant 0x0 in v0
const/4 v0, 0x0
aget-object v0, v9, v0
# store string AES in v1
const-string v1, "AES"
# calls new SecretKeySpec(v0,v1);
invoke-direct {v8, v0, v1}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
.line 115
.local v8, "key":Ljavax/crypto/spec/SecretKeySpec;
答案 0 :(得分:2)
调用直接调用就是调用构造函数。 Java(和Dalvik)字节码中的对象创建需要两条指令。第一个,new-instance
分配一个未初始化的对象,而invoke-direct
调用构造函数来初始化该对象。对象存储在v8中,正如您从new-instance
指令中看到的那样。