深入理解Java虚拟机——运算指令
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Java虚拟机——运算指令相关的知识,希望对你有一定的参考价值。
目录
一、运算指令的概述
- 运算或算数指令用于对两个操作数栈上的值进行某种特定运算,并把结果重新存入到操作栈顶。
- 大体上算数指令可以分为两种:对整型数据进行运算的指令与对浮点型数据进行运算的指令,无论哪种算术指令,都使用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字节码文件
以上是关于深入理解Java虚拟机——运算指令的主要内容,如果未能解决你的问题,请参考以下文章