目录
上一篇接照按指令的功能和操作的数据类型进行分类,除了压栈出栈指令外,还有类型转换,运算和对象操作指令三种,即加减乘除取余取反,对象操作中的字段访问和类型检查等,这篇日志就来总结下这部分常用的JVM指令。
类型转换指令
类型转换在代码中出现一般是用户进行显式的数据类型转换操作,例如(int)num;在指令集中助记符形式是x2y,表示将x类型数据转换成y类型数据,例如i2l表示将int数据类型转换成long数据类型,l2d表示将long类型转换成double类型等。在转换的处理逻辑上,拿i2l举例,该指令会将int数据从栈顶弹出,完成数据转换后再压回栈中,来看具体的代码和指令:


例子中将int类型数据num1赋值给long类型变量num2,由于是从较小范围的数据向较大范围的数据类型转换,所以无需显式地声明(或者说是强制类型转换),而如果将long类型

本文介绍了JVM中与对象操作、类型转换和基本运算相关的指令。包括类型转换如i2l、l2d,基本运算如加减乘除(iadd, isub, imul, idiv),以及对象操作如new、newarray、anewarray、multianewarray。同时,还探讨了类型检查指令checkcast和instanceof,以及字段访问和数组操作的相关指令。"
131498234,9162358,使用Curves创建直线的方法,"['C++编程', 'C#编程', '图形绘制', '曲线与曲面']
最低0.47元/天 解锁文章
922

被折叠的 条评论
为什么被折叠?



