看一下它的class文件,通过vim打开,在Normal模式下,按: 输入%!xxd,即可转换成16进制表示。然后可以通过%!xxd -r转换回来
Vim Plain.class
按下’:’,输入 %!xxd 转换成16禁止
按下`:` 输入 %!xxd -r 转换回来
public void setName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
0: aload_0
1: aload_1
2: putfield #2 // Field name:Ljava/lang/String;
5: return
LineNumberTable:
line 15: 0
line 16: 5
LocalVariableTable:
Start Length Slot Name Signature
0 6 0 this Lcom/example/demo/ding/view/vm/Plain;
0 6 1 name Ljava/lang/String;
编译的时候写入(class文件中已经确认了)
局部变量表:locals=2,说明是存在2个变量,一个是this,占据第一个,一个是描述符中的String.
操作数栈: stack=2,