“深入理解JVM:类文件结构”的版本间差异
跳到导航
跳到搜索
(→无关性的基石) |
|||
第12行: | 第12行: | ||
== Class类文件的结构 == | == Class类文件的结构 == | ||
<pre> | |||
</pre> | |||
=== 魔数与Class文件的版本 === | |||
=== 常量池 === | |||
=== 访问标志 === | |||
=== 类索引、父类索引与接口索引集合 === | |||
=== 字段表集合 === | |||
=== 方法表集合 === | |||
=== 属性表集合 === | |||
== 字节码指令简介 == | == 字节码指令简介 == | ||
6.4.1 字节码与数据类型 | 6.4.1 字节码与数据类型 |
2020年10月25日 (日) 00:53的版本
无关性的基石
- 无关性:即与平台无关,“一次编写,到处运行(Write Once,Run Anywhere)”;
- 无关性的基石:字节码(Byte Code):
- 各种不同平台的Java虚拟机,以及所有平台都统一支持的程序存储格式;
Java虚拟机不与包括Java语言在内的任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。
Class类文件的结构
魔数与Class文件的版本
常量池
访问标志
类索引、父类索引与接口索引集合
字段表集合
方法表集合
属性表集合
字节码指令简介
6.4.1 字节码与数据类型 6.4.2 加载和存储指令 6.4.3 运算指令 6.4.4 类型转换指令 6.4.5 对象创建与访问指令 6.4.6 操作数栈管理指令 6.4.7 控制转移指令 6.4.8 方法调用和返回指令 6.4.9 异常处理指令 6.4.10 同步指令