首先属性表是用来补充信息用的,比如他可以继续补充类文件的信息、就是我们上面最后的那一段内容,还有他可以补充字段的信息,补充方法的信息。所以它出现的位置不同,补充的额外信息也会不一样。 下面我们 「简单」 的了解一下都有哪些 「主要」 的内容,之所以要简单、要了解主要的,就是因为它保存的额外信息实在太多了。 属性表的结构是由 2 个字节的属性名索引,4 个字节的属性内容长度,和 1 个字节的属性信息组成。 按照属性的类别 流量交易 可以分为:类文件属性、字段表属性、方法表属性 类文件属性 InnerClass 保存主类和内部类的关系 SourceFile 记录生成这个Class文件的源码文件名称 方法表属性 Code Java 程序方法体里面的代码经过 Javac 编译器处理之后, 最终变为字节码指令存储在Code属性内。并非所有的方法表都必须存在这个属性, 接口或者抽象类中的方法就不存在Code属性 。 code 属性里面还有属性表.... (套娃啊),其中包含 LineNumberTable 源码和生成的字节码行号映射表 LocalVariableTable 栈帧中的变量与源码变量的映射关系 ExceptionTable 异常表 ..... Exceptions Exceptions属性的作用是列举出在throws关键字后面抛出的异常 MethodParameters 定义方法的参数信息 字段表属性 ConstantValue 这个属性用于为字段的静态变量赋值。只有字段声明为 static 时才有效。Javac 编译器在编译的时候,如果遇到 static 和 final 同时修饰的 基本类型或String 类型变量,会直接在 ConstantValue 属性进行字段初始化。也就是我们说的常量。如果没有 final 修饰,或者不是基本类型和 String 类型,则会在类初始化方法执行的时候初始化 <clinit> 通用属性 Deprecated Deprecated属性用于表示某个类、 字段或者方法被弃用 关于属性表的内容还有很多,我只了解了一些基本常见的,这部分内容在周老师书里还是比较全的。想继续了解的可以在书中 6.3.7 章节找到更多内容。
你说那 class 文件里边都是啥
来源:这里教程网
时间:2026-03-03 16:23:07
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 干货 | 设计师必备中国风配色卡,快来收藏
干货 | 设计师必备中国风配色卡,快来收藏
26-03-03 - Thread 1 cannot allocate new log
Thread 1 cannot allocate new log
26-03-03 - Oracle database 19c中获取当前数据库版本的方法
Oracle database 19c中获取当前数据库版本的方法
26-03-03 - Oracle如何删除表中重复记录保留第一条
Oracle如何删除表中重复记录保留第一条
26-03-03 - Oracle网络服务基础(二)之监听器与TNS配置管理
Oracle网络服务基础(二)之监听器与TNS配置管理
26-03-03 - ORACLE 数据库业务用户密码重置慎用特殊字符
ORACLE 数据库业务用户密码重置慎用特殊字符
26-03-03 - oracle优化之生产系统不改代码解决SQL性能问题的几种方法
oracle优化之生产系统不改代码解决SQL性能问题的几种方法
26-03-03 - Oracle网络服务基础(一)之监听器概念
Oracle网络服务基础(一)之监听器概念
26-03-03 - Oracle 21c新特性预览与日常管理相关的几个新特性
Oracle 21c新特性预览与日常管理相关的几个新特性
26-03-03 - ora-00279 ora-00289 ora-00280
ora-00279 ora-00289 ora-00280
26-03-03
