深入理解Java虚拟机——控制转移指令

x33g5p2x  于2022-03-18 转载在 Java  
字(0.5k)|赞(0)|评价(0)|浏览(242)

一、控制转移指令的概述

  • 控制转移指令可以让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命令查看字节码指令

相关文章

微信公众号

最新文章

更多