字面量
当常量为字面量的时候,会按照基本类型分配对应的字节数和记录对应的值,
Integer(U4),<br><br>
Float(U4),
Long(U4(hight)+U4(low)),
Double(U4(hight)+U4(low))
字符串UTF-8比较特殊,是长度length(U2) + 对应的字节数组(U1 * length)
描述信息
基本参数类型
S(short),
I(Int),
F(float),
D(double),
B(byte),<br><br>
J(long),
Z(boolean),
C(char)
对象类型
String getSome(int i , String str)的方法描述符号为(I,Ljava/lang/String;) Ljava/lang/String;
方法返回值在()之后<br>
数组
用[表示,n维数组就用n个[,例如 String[][] 为 [[Ljava/lang/String;<br>
方法类型
String getSome(int i , String str)的方法描述符号为(I,Ljava/lang/String;) Ljava/lang/String;<br>
LineNumberTable
行表号,用来维护代码的源码行号,记录源码行号和字节码号一一对应的关系
LocalVariableTable
本地变量表,默认有一个this,这是构造方法中隐式在第一个参数传入this,从locals这个局部变量表中个数可以看出,局部变量表,操作数栈的空间在编译器就能确认