深入理解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虚拟机——控制转移指令的主要内容,如果未能解决你的问题,请参考以下文章

深入理解Java虚拟机——同步指令

深入理解Java虚拟机——同步指令

深入理解Java虚拟机——异常处理指令

深入理解Java虚拟机——异常处理指令

深入理解java虚拟机字节码指令简介

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