目录
一、字节码与数据类型的概述
- 一、字节码与数据类型的概述
- 二、字节码指令
- 三、数据类型
- 3.1、大部分指令包含类型信息
- 3.2、其余部分指令不包含类型信息
- 在Java虚拟机的指令集合中,大多数的指令都包含了某操作所对应的数据类型信息。
- iload指令 用于从局部变量表中加载int类型的数据到操作数栈中。
- fload指令 加载的则是float类型的数据。
- iload指令示例图
-
对于大部分与数据类型相关的字节码指令,他们的操作码助记符号中都有特殊的字符来表明专门为哪种数据类型服务:
特殊字符作用i代表对int类型的数据操作l代表对long类型的数据操作s代表对short类型的数据操作b代表对byte类型的数据操作c代表对char类型的数据操作f代表对float类型的数据操作d代表对double类型的数据操作a代表对reference类型的数据操作
- 也有一些指令的助记符中没有明确地致命操作类型的字母,如:
- arraylength指令,它们没有代表数据类型的特殊字符,但操作数永远只能是一个数组类型的对象。
- goto指令,表示无条件跳转指令,也是与数据类型无关的。