(十四)访问标志 Access_flags
生活随笔
收集整理的这篇文章主要介绍了
(十四)访问标志 Access_flags
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
一、概念
上一章节讲到了常量池,如下图,常量池之后便是访问标志acess_flags,占2个字节(u2)。
二、例子
编写一个接口。
public interface Test{public final String userName="ADMIN"; }编译之后,用javap命令行打开,可看到访问标志Access_flags。
C:\Users\Administrator\Desktop>javap -verbose Test.class Classfile /C:/Users/Administrator/Desktop/Test.classLast modified 2018-5-13; size 164 bytesMD5 checksum 0948ee61f2cbaaf5477f8c3bea7b62ceCompiled from "Test.java" public interface Testminor version: 0major version: 52flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT Constant pool:#1 = Class #9 // Test#2 = Class #10 // java/lang/Object#3 = Utf8 userName#4 = Utf8 Ljava/lang/String;#5 = Utf8 ConstantValue#6 = String #11 // ADMIN#7 = Utf8 SourceFile#8 = Utf8 Test.java#9 = Utf8 Test#10 = Utf8 java/lang/Object#11 = Utf8 ADMIN {public static final java.lang.String userName;descriptor: Ljava/lang/String;flags: ACC_PUBLIC, ACC_STATIC, ACC_FINALConstantValue: String ADMIN} SourceFile: "Test.java"- 如上面橙色标记,可知访问标志值为:flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
打开Test.class的字节文件,访问标志值紧跟在常量池之后的两个字节,
- 如上图,访问标志值为:0x0601 ,上面已经得出flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT ,参照下表可知,ACC_PUBLIC=0x0001
- ,ACC_INTERFACE=0x0200,ACC_ABSTRACT =0x0400 , 访问标志值0x0601 = 0x0001 or 0x0200 0x0400
转载于:https://www.cnblogs.com/shyroke/p/9031951.html
总结
以上是生活随笔为你收集整理的(十四)访问标志 Access_flags的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 《算法图解》第四章笔记与课后练习_快速排
- 下一篇: JavaScript 基础(十):循环语