“深入理解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 同步指令