Class类文件结构——访问标志

12 篇文章 0 订阅

访问标志的位置:在常量池结束之后的两个字节(16位)表示访问标志access_flags。

访问标志的作用:用于标识类或者接口层次的访问信息;比如该Class是类还是接口,是否为public类型、是否为abstract类型、是否是final类型等等。

访问标志的类型:参考博客《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合

 

 那么我们下面看一个具体的代码来分析一下:

public class HelloWorld{
    private int m;
    public int intc(){
        return m + 1;
    }
}

 

我们把他编译成class文件

C:\Users\xiaoqiu\Desktop>javac HelloWorld.java

 

我们可以通过javap -verbose工具分析得知最后一个常量为java.lang.object

 

我们在class文件中找到java.lang.object

可以推测0x0021 =  0x0001 | 0x0020   通过查表可以直到0x0001表示ACC_PUBLIC ,0x0020表示ACC_SUPER

同时我们还可以利用javap -verbose查看访问标志

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值