深入理解Java虚拟机——控制转移指令
Posted 小志的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入理解Java虚拟机——控制转移指令相关的知识,希望对你有一定的参考价值。
目录
一、控制转移指令的概述
- 控制转移指令可以让Java虚拟机有条件或无条件地从指定的位置指令而不是控制转移指令的下一条指令继续执行程序,从概念模型上理解,可以认为控制转移指令就是在有条件或无条件地修改PC寄存器的值。
二、控制转移指令
指令描述 | 指令 |
---|---|
条件分支 | ifeq、iflt、ifle、ifne、ifgt、ifge、ifnull、ifnonnull、if_icmpeq、if_icmpne、if_icmplt、if_icmpgt、if_icmple、if_icmpge、if_acmpeq、if_acmpne |
复合条件分支 | tablesswitch、lookupswitch |
无条件分支 | goto、goto_w、jsr、jsr_w、ret |
三、控制转移指令示例
-
代码
public class Test1 public static void main(String []args) int a = 1; if(a > 1) System.out.println("大于1"); else System.out.println("小于等于1");
-
执行javac命令编译成.class文件
-
执行javap命令查看字节码指令
以上是关于深入理解Java虚拟机——控制转移指令的主要内容,如果未能解决你的问题,请参考以下文章