Java 虚拟机指令与操作详解
1. 条件跳转指令
条件跳转指令在 Java 程序中用于根据特定条件改变程序的执行流程。常见的条件跳转指令包括 ifge
、 if_icmple
、 if_icmpge
、 if_icmpne
和 ifne
等。
1.1 ifge
示例
public class abs {
public static int abs(int a) {
if (a < 0)
return -a;
return a;
}
}
对应的字节码如下:
public static int abs(int);
flags: ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
0: iload_0
1: ifge 7
4: iload_0
5: ineg
6: ireturn
7: iload_0
8: ireturn
ifge
指令会检查栈顶元素是否大于或等于 0,如果是则跳转到指定偏移量处。