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