class 属性表

一 class 属性计数器

attributes_count 的值表示当前 class 文件属性表的成员个数。属性表中每一项都是一个 attribute_info 结构。

二 属性表

attributes[](属性表)的每个项的值必须是 attribute_info 结构。属性表的结构比较灵活,各种不同的属性只要满足以下结构即可。

1 属性的通用格式

类型

名称

数量

含义

u2

attribute_name_index

1

属性名索引

u4

attribute_length

1

属性长度

u1

info

attribute_length

属性表

2 属性类型

属性表实际上可以有很多类型,上面看到的 Code 属性只是其中一种,Java8 里面定义了 23 种属性。下面这些是虚拟机中预定义的属性。

属性名称

使用位置

含义

Code

方法表

Java 代码编译成的字节码指令

ConstantValue

字段表

final 关键字定义的常量池

Deprecated

类,方法,字段表

被声明为 deprecated 的方法和字段

Exceptions

方法表

方法抛出的异常

EnclosingMethod

类文件

仅当一个类为局部类或者匿名类时才能拥有这个属性,这个属性用于标识这个类所在的外围方法

InnerClass

类文件

内部类列表

LineNumberTable

Code 属性

Java 源码的行号与字节码指令的对应关系

LocalVariableTable

Code 属性

方法的局部变量描述

StackMapTable

Code 属性<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值