美文网首页
指令与数据类型的关系及指令分类

指令与数据类型的关系及指令分类

作者: Shaw_Young | 来源:发表于2021-08-16 10:48 被阅读0次

在Java虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。例如:iload指令用于从局部变量表中加载int型的数据到操作数栈中,而fload指令加载的则是float类型的数据。

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

  • i代表对int类型的数据操作
  • l代表long
  • s代表short
  • b代表byte
  • c代表char
  • f代表float
  • d代表double

也有一些指令的助记符中没有明确地指明操作类型的字母,如arraylength指令,它没有代表数据类型的特殊字符,但操作数永远只能是一个数组类型的对象。

还有另外一些指令,如无条件跳转指令goto则是与数据类型无关的

大部分的指令都没有支持整数类型byte、char和short,甚至没有任何指令支持boolean类型。编译器会在编译期或运行期将byte和short类型的数据带符号扩展(Sign-Extend)为相应的int类型数据,将boolean和char类型数据零位扩展(Zero-Extend)为相应的int类型数据。与之类似,在处理boolean、byte、short和char类型的数组时,也会转换为使用对应的int类型的字节码指令来处理。因此,大多数对于boolean、byte、short和char类型数据的操作,实际上都是使用相应的int类型作为运算类型。

梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。

相关文章

  • 指令与数据类型的关系及指令分类

    在Java虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。例如:iload指令用于从局部变量表中...

  • Java虚拟机字节码指令简介

    目录: 1、字节码与数据类型2、加载和存储指令3、运算指令4、类型转换指令5、对象创建与访问指令6、操作数栈管理指...

  • 一步一步实现简单安卓性能监控SDK之熟悉字节码指令

    字节码与数据类型 在Java虚拟机的指令集中,大多数的指令都包含了操作所对应的数据类型信息。比如iload指令表示...

  • Java字节码指令解析

    字节码与数据类型 在Java虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。 加载和存储指令 加...

  • angular内置指令相关知识

    大纲 1、angular指令的分类2、angular指令之——组件3、angular指令之——属性指令 (ngSt...

  • 04Angular属性型指令

    指令的分类 组件(带模板的指令)结构型指令(改变宿主文档结构)属性型指令(改变宿主行为) 内置指令 结构型指令(改...

  • 超线程和SIMD(27讲)

    回顾 超标量: 可以让取指令及指令译码并行进行、VLIW: 可以搞定指令先后依赖关系、使得一次取一个指令包 最后两...

  • Vue基础(五)--自定义指令与过渡

    1.自定义指令 分类:全局指令、局部指令 1.1 自定义全局指令 使用全局方法 Vue.directive(指令I...

  • Vue之自定义指令

    分类:全局指令、局部指令 1、自定义全局指令 使用全局方法Vue.directive(指令ID,定义对象) 注:使...

  • 指令

    分类 组件:带有模版的指令 属性型指令:更改元素、组件或其他指令的外观或行为的指令。 结构型指令:通过添加和删除 ...

网友评论

      本文标题:指令与数据类型的关系及指令分类

      本文链接:https://www.haomeiwen.com/subject/nbtjbltx.html