前几天咨询了大家字节码相关问题
看了一遍《深入理解虚拟机》,部分指令和语法是明白了,但是依然存在一些疑惑
在下面字节码中标出了,麻烦懂的朋友指点下
多谢了
类文件
package core.object_create;
public class ObjectTest {
private String name="v2";
public void hi(){
int i =777;
}
}
// class version 56.0 (56)
// access flags 0x21
public class core/object_create/ObjectTest {
// compiled from: ObjectTest.java
// access flags 0x2
private Ljava/lang/String; name
// access flags 0x1
public <init>()V
L0 //这里在申明什么
LINENUMBER 3 L0 //这个语法是啥意思
ALOAD 0
INVOKESPECIAL java/lang/Object.<init> ()V
L1
LINENUMBER 4 L1
ALOAD 0
LDC "v2"
PUTFIELD core/object_create/ObjectTest.name : Ljava/lang/String;
RETURN
L2
LOCALVARIABLE this Lcore/object_create/ObjectTest; L0 L2 0
MAXSTACK = 2
MAXLOCALS = 1
// access flags 0x1
public hi()V
L0
LINENUMBER 7 L0
SIPUSH 777
ISTORE 1
L1
LINENUMBER 8 L1
RETURN
L2
LOCALVARIABLE this Lcore/object_create/ObjectTest; L0 L2 0 //这句
LOCALVARIABLE i I L1 L2 1 //以及这句分别在申明什么
MAXSTACK = 1
MAXLOCALS = 2
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.