0
点赞
收藏
分享

微信扫一扫

深入理解Java虚拟机——字节码与数据类型

生态人 2022-03-11 阅读 75

目录

一、字节码与数据类型的概述

  • 在Java虚拟机的指令集合中,大多数的指令都包含了某操作所对应的数据类型信息。

二、字节码指令

  • iload指令
    用于从局部变量表中加载int类型的数据到操作数栈中。
  • fload指令
    加载的则是float类型的数据。
  • 指令示例图
    在这里插入图片描述
    在这里插入图片描述

三、数据类型

3.1、大部分指令包含类型信息

  • 对于大部分与数据类型相关的字节码指令,他们的操作码助记符号中都有特殊的字符来表明专门为哪种数据类型服务:

    特殊字符作用
    i代表对int类型的数据操作
    l代表对long类型的数据操作
    s代表对short类型的数据操作
    b代表对byte类型的数据操作
    c代表对char类型的数据操作
    f代表对float类型的数据操作
    d代表对double类型的数据操作
    a代表对reference类型的数据操作

3.2、其余部分指令不包含类型信息

  • 也有一些指令的助记符中没有明确地致命操作类型的字母,如:
  • arraylength指令,它们没有代表数据类型的特殊字符,但操作数永远只能是一个数组类型的对象。
  • goto指令,表示无条件跳转指令,也是与数据类型无关的。
举报

相关推荐

0 条评论