JVM 指令集

来源:互联网 发布:java单线程程序 编辑:程序博客网 时间:2024/05/25 05:34
助记符 操作码(十六进制) 操作码(二进制) 栈 描述 aaload 32 0011 0010 把来自数组的一个引用推到栈顶 aastore 53 0101 0011 把引用存储到数组 aconst_null 01 0000 0001 将null推到栈顶 aload 19 0001 1001 把引用类型的本地变量#index推到栈顶 aload_0 2a 0010 1011 把第一个引用类型的本地变量推到栈顶 aload_1 2b 0010 1011 同上 aload_2 2c 0010 1100 同上 aload_3 2d 0010 1101 同上 anewarray bd 1011 1101 areturn b0 1011 1110 方法返回一个索引类型 arraylength be 1011 1110 获取数组长度 astore 3a 0011 1010 把引用类型存储到第#index个本地变量 astore_0 4b 0100 1011 把引用类型存储到第一个本地变量 astore_1 4c 0100 1100 同上 astore_2 4d 0100 1101 同上 astore_3 4e 0100 1110 同上 athrow bf 1011 1111 抛出一个错误或异常 baload 33 0011 0011 把数组中的byte或者boolean类型值推到栈顶 bastore 54 0101 0100 把栈顶 byte 或 boolean 类型的值存入数组 bipush 10 0001 0000 把 byte 类型的值以 integer 类型推入栈顶 breakpoint ca 1100 1010 保留 java 调试器中的断点;在任何 class 文件中不应该出现 caload 34 0011 0100 把数组中的 char 推入栈顶 castore 55 0101 0101 把栈顶的 char 类型的值存入数组 checkcast c0 1100 0000 检查对象引用是否是某种类型,它的类引用是否在(indexbyte1 << 8+indexbyte2)范围的常量池中