访问标志:常量池后的2个字节代表访问标志(access _flags),用于识别类或接口层次访问信息:

  • 这个class 是类还是接口
  • 是否定义为public 类型
  • 是否定义为abstract类型
  • 如类的话,是否被声明为 final

类型

名称

数量

u2

access_flags

1

u2

this_class

1

其他省略。。。

标志名称

标志值

含 义

ACC_PUBLIC

0x0001

是否为public 类型

ACC_FINAL

0x0010

是否被声明为 final 只有类可设置

ACC_SUPER

0x0020

ACC_INTERFACE

0x0200

标识这是一个接口

ACC_ABSTRACT

0x0400

是否为abstract 类型,对于接口或抽象类,此标志真其他假

ACC_SYNTHETIC

0x1000

标识这个类并非由用户代码产生

ACC_ANNOTATION

0x2000

标识这是一个注解

类索引用于确定这个类的全限定名,父类索引用于确定这个类的父类全限定名,由于java语言不允许多继承,所以父类索引只有一个,除了java.lang.Object 外,所有的java 类都有父类,因此除了 java.lang.Object外所有java类的父类索引都不为0。

接口索引集合用来描述这个类实现了哪些接口,这些被实现的接口将按implements关键字(如这个class文件表示的是一个接口,则应当是extends关键字)后的接口顺序从左到右排列在接口索引集合中类索引,父类索引和接口索引集合都按顺序在访问标志后,类索引和父类索引,用两个u2类型的索引值表示,它们各自指向一个类型为CONSTANT_Class_info 的类描述符常量,通过CONTANT_Class_info类型的常量中的索引值可以找到定义在CONSTANT_Utf8_info类型的常量中的全限定名字符串。

范例

public class Demo1{

private int m;

public int inc() {

return m + 1;

}

}

如上例,因此它的ACC_PUBLIC,ACC_SUPER标志为真,而ACC_FINAL,ACC_INTERFACE,ACC_ABSTRACT等标志都为假,它的access_flags值:0x0001=0x0021,| (按位或)

65,访问标志与类索引及接口索引集合_v1相关推荐

  1. java类索引_《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合...

    讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了.现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志.类索引.父类索引.接口索引集合. 1. 访问标 ...

  2. java虚拟机标志_《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合...

    讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了.现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志.类索引.父类索引.接口索引集合. 1. 访问标 ...

  3. 《Java虚拟机原理图解》1.3、class文件里的訪问标志、类索引、父类索引、接口索引集合...

    讲完了class文件里的常量池,我们就相当于克服了class文件里最麻烦的模块了.如今,我们来看一下class文件里紧接着常量池后面的几个东西:訪问标志.类索引.父类索引.接口索引集合. 1. 訪问标 ...

  4. JVM虚拟机-Class文件之类索引、父类索引和接口索引集合

    一.概述 前面介绍了class文件,包括魔数.次版本号.主版本号.常量池和访问标志.接下来的就是用于确定这个类的继承关系的类索引(this_class).父类索引(super_class)与接口索引集 ...

  5. Class文件结构介绍[访问标志,类索引,父类索引,接口索引集合]

    访问标志   在常量池结束后,紧接着的两个字节代表访问标志(access_flags),这个标志用于识别一些类或者接口层次的访问信息,包括:这个Class是类还是接口,是否定义为public类型,是否 ...

  6. JAVA接口的访问权限_Java中访问权限-类和接口

    (1)类和接口的访问权限种类一样 , 有两中public,default,它们的不同在于是否能访问不同包中的类或接口 default:只能在本包中访问 public:任何地方都可以访问,当然不同的包中 ...

  7. 【Java 虚拟机原理】Class 字节码二进制文件分析 五 ( 方法计数器 | 方法表 | 访问标志 | 方法名称索引 | 方法返回值类型 | 方法属性数量 | 方法属性表 )

    文章目录 前言 一.方法表结构 二.方法计数器 三.方法表数据解析 ( init 构造方法 ) 1.方法访问标志 2.方法名称索引 3.方法返回类型 4.方法属性数量 前言 上一篇博客 [Java 虚 ...

  8. 【Java 虚拟机原理】Class 字节码二进制文件分析 四 ( 字段表数据结构 | 字段表详细分析 | 访问标志 | 字段名称 | 字段描述符 | 属性项目 )

    文章目录 前言 一.字段表总数据结构 二.访问标志 三.字段名称 四.字段描述符 五.属性项目数 前言 上一篇博客 [Java 虚拟机原理]Class 字节码二进制文件分析 三 ( 访问和修饰标志 | ...

  9. C# 类中继承接口的属性

    在开发中面对接口编程,有时需要将属性放到接口中,但是在类中又要如何去继承接口的属性呢? 开始的时候,我以为只要继承了接口,就可以将属性拿来用了.代码如下: public interface IA {i ...

最新文章

  1. 35岁前十件事该做好
  2. Java JDBC
  3. 2019语音技术报告:语音经济规模将超移动应用
  4. 实战SSM_O2O商铺_09【商铺注册】DTO之ShopExecution的实现
  5. Eclipse配置开发Go的插件——Goclipse
  6. html 倒计时 插件,JavaScript使用小插件实现倒计时的方法讲解
  7. 2021 年 9 月 TIOBE 指数 C# 同比增长突破 1.2%
  8. 飞畅 8口RS-485集线器产品性能参数介绍
  9. 计算机编码发展历史和编码方式
  10. linux系统grep用法,Linux系统中怎么使用grep命令?
  11. GL中的累计组、汇总帐户和帐户查询的关系
  12. elk,centos7,filebeat,elasticsearch-head集成搭建
  13. 如何快速对接大量的精准客户呢?
  14. 考研英语一和英语二的区别
  15. 树莓派4B Ubuntu20.04 ROS2 RTABMAP realsense d455
  16. 微信小程序-实现保存图片功能的3种方式
  17. Android基于ViewPager2实现循环轮播图、3D画廊效果
  18. .net core 创建桌面应用程序(极简流程)
  19. 微机 —— 可编程并行接口芯片8255A 应用
  20. 全球及中国汽车节能减排行业投资可行性及十四五发展趋势研究报告2021-2027年

热门文章

  1. zabbix告警页面sql语句
  2. python shutil_[转]Python shutil 模块
  3. 用Excel制作世界杯“德国VS墨西哥”技术指标对比图
  4. 2020.9.28京东云测试开发一面面经(电话面)
  5. 斗角钩心,七巧证勾股
  6. 六种基本网络拓扑结构
  7. 解决迅雷VIP尊享版、极速版、低版本崩溃修正补丁无法安装的问题
  8. SOUI自定义控件(2)
  9. 计算机网络实验五:交换机中交换表的自学习功能
  10. 某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。如果想用n人正好搬n块砖,问有多少种搬法