目录
接着上一篇,在第50字节处数据有一个类型为u1=1的,即UTF-8编码的字符串变量a,在它之后又有一个UTF-8编码字符串“Ljava/lang/String”,表示a变量的类型是Scanner对象,元素字节数据第57字节一直到第75字节处。接着继续看下面的字节码文件部分。
标识
access_flags访问权限
上面一大堆常量池数组元素,之后接着的是第四部分,类的访问权限(上篇日志已经简单总结了.class字节码文件的前三部分:魔数、版本号和常量池),access_flags访问权限元素的标志位tag类型是u2,前面说过,u1类型占一个字节,u2类型占两个字节,还有u4和u8,分别标识4和8字节的无符号数。类的访问权限,很好理解,就是当前类,或这个接口的访问类型是public,private还是其他,access_flags的标志有如下类型:
0x0001 |
ACC_PUBLIC |
是否为public访问类型 |
0x0010 |
ACC_FINAL |
是否为final访问类型 |
0x0020 |
ACC_SUPER |
< |