深入理解Java虚拟机——运算指令

x33g5p2x  于2022-03-06 转载在 Java  
字(0.6k)|赞(0)|评价(0)|浏览(238)

一、运算指令的概述

  • 运算或算数指令用于对两个操作数栈上的值进行某种特定运算,并把结果重新存入到操作栈顶。
  • 大体上算数指令可以分为两种:对整型数据进行运算的指令与对浮点型数据进行运算的指令,无论哪种算术指令,都使用Java虚拟机的数据类型,由于没有直接支持byte、short、char和boolean类型的算术指令,对于这类数据的运算,应使用操作int类型的指令代替。

二、算术指令的内容

算术指令描述算术指令
加法指令iadd、ladd、fadd、dadd
减法指令isub、lsub、fsub、dsub
乘法指令imul、lmul、fmul、dmul
除法指令idiv、ldiv、fdiv、ddiv
求余指令irem、lrem、frem、drem
取反指令ineg、lneg、fneg、dneg
位移指令ishl、ishr、iushr、lshl、lshr、lushr
按位或指令ior、lor
按位与指令iand、land
按位异或指令ixor、lxor
局部变量自增指令iinc
比较指令dcmpg、dcmpl、fcmpg、fcmpl、lcmp

三、算术指令的示例

  • 代码
public class Test1{
	public int add(int a,int b){
		int c= a + b;
		int d= a - b;
		int e= a * b;
		int f= a / b;
		int g= a % b;
		return 1+1;
	}
}
  • 执行javac命令,编译成.class文件

  • 执行javap命令,分析.class字节码文件

相关文章

微信公众号

最新文章

更多