小編給大家分享一下JVM常用指令速查表的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司是一家服務(wù)多年做網(wǎng)站建設(shè)策劃設(shè)計(jì)制作的公司,為廣大用戶提供了成都網(wǎng)站制作、做網(wǎng)站,成都網(wǎng)站設(shè)計(jì),一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián),貼合企業(yè)需求,高性價(jià)比,滿足客戶不同層次的需求一站式服務(wù)歡迎致電。基本指令集是最常用的,總結(jié)如下:
指令 | 釋義 |
---|---|
iconst_1 | int型常量值1進(jìn)棧 |
bipush | 將一個(gè)byte型常量值推送至棧頂 |
iload_1 | 第二個(gè)int型局部變量進(jìn)棧,從0開(kāi)始計(jì)數(shù) |
istore_1 | 將棧頂int型數(shù)值存入第二個(gè)局部變量,從0開(kāi)始計(jì)數(shù) |
iadd | 棧頂兩int型數(shù)值相加,并且結(jié)果進(jìn)棧 |
return | 當(dāng)前方法返回void |
getstatic | 獲取指定類(lèi)的靜態(tài)域,并將其值壓入棧頂 |
putstatic | 為指定的類(lèi)的靜態(tài)域賦值 |
invokevirtual | 調(diào)用實(shí)例方法 |
invokespecial | 調(diào)用超類(lèi)構(gòu)造方法、實(shí)例初始化方法、私有方法 |
invokestatic | 調(diào)用靜態(tài)方法 |
invokeinterface | 調(diào)用接口方法 |
new | 創(chuàng)建一個(gè)對(duì)象,并且其引用進(jìn)棧 |
newarray | 創(chuàng)建一個(gè)基本類(lèi)型數(shù)組,并且其引用進(jìn)棧 |
這個(gè)指令集也不是最全的,但是 99% 的都收錄了進(jìn)來(lái)。這個(gè)表格包含:指令碼、助記符、功能描述三列。
指令碼 | 助記符 | 功能描述 |
---|---|---|
0x00 | nop | 無(wú)操作 |
0x01 | aconst_null | 指令格式:aconst_null 功能描述:null進(jìn)棧。注意:JVM并沒(méi)有為null指派一個(gè)具體的值。 |
0x02 | iconst_m1 | int型常量值-1進(jìn)棧 |
0x03 | iconst_0 | int型常量值0進(jìn)棧 |
0x04 | iconst_1 | int型常量值1進(jìn)棧 |
0x05 | iconst_2 | int型常量值2進(jìn)棧 |
0x06 | iconst_3 | int型常量值3進(jìn)棧 |
0x07 | iconst_4 | int型常量值4進(jìn)棧 |
0x08 | iconst_5 | int型常量值5進(jìn)棧 |
0x09 | lconst_0 | long型常量值0進(jìn)棧 |
0x0A | lconst_1 | long型常量值1進(jìn)棧 |
0x0B | fconst_0 | float型常量值0進(jìn)棧 |
0x0C | fconst_1 | float型常量值1進(jìn)棧 |
0x0D | fconst_2 | float型常量值2進(jìn)棧 |
0x0E | dconst_0 | double型常量值0進(jìn)棧 |
0x0F | dconst_1 | double型常量值1進(jìn)棧 |
0x10 | bipush | 將一個(gè)byte型常量值推送至棧頂 |
0x11 | sipush | 將一個(gè)short型常量值推送至棧頂 |
0x12 | ldc | 將int、float或String型常量值從常量池中推送至棧頂 |
0x13 | ldc_w | 將int、float或String型常量值從常量池中推送至棧頂(寬索引) |
0x14 | ldc2_w | 將long或double型常量值從常量池中推送至棧頂(寬索引) |
0x15 | iload | 指定的int型局部變量進(jìn)棧 |
0x16 | lload | 指定的long型局部變量進(jìn)棧 |
0x17 | fload | 指定的float型局部變量進(jìn)棧 |
0x18 | dload | 指定的double型局部變量進(jìn)棧 |
0x19 | aload | 指令格式:aload index。功能描述:當(dāng)前frame的局部變量數(shù)組中下標(biāo)為 index 的引用型局部變量進(jìn)棧。index:無(wú)符號(hào)一byte整型。和wide指令聯(lián)用,可以使index為兩byte。 |
0x1A | iload_0 | 第一個(gè)int型局部變量進(jìn)棧 |
0x1B | iload_1 | 第二個(gè)int型局部變量進(jìn)棧 |
0x1C | iload_2 | 第三個(gè)int型局部變量進(jìn)棧 |
0x1D | iload_3 | 第四個(gè)int型局部變量進(jìn)棧 |
0x1E | lload_0 | 第一個(gè)long型局部變量進(jìn)棧 |
0x1F | lload_1 | 第二個(gè)long型局部變量進(jìn)棧 |
0x20 | lload_2 | 第三個(gè)long型局部變量進(jìn)棧 |
0x21 | lload_3 | 第四個(gè)long型局部變量進(jìn)棧 |
0x22 | fload_0 | 第一個(gè)float型局部變量進(jìn)棧 |
0x23 | fload_1 | 第二個(gè)float型局部變量進(jìn)棧 |
0x24 | fload_2 | 第三個(gè)float型局部變量進(jìn)棧 |
0x25 | fload_3 | 第四個(gè)float型局部變量進(jìn)棧 |
0x26 | dload_0 | 第一個(gè)double型局部變量進(jìn)棧 |
0x27 | dload_1 | 第二個(gè)double型局部變量進(jìn)棧 |
0x28 | dload_2 | 第三個(gè)double型局部變量進(jìn)棧 |
0x29 | load_3 | 第四個(gè)double型局部變量進(jìn)棧 |
0x2A | aload_0 | 指令格式:aload_0 指令的行為類(lèi)似于aload指令index為0的情況。 |
0x2B | aload_1 | 同上 |
0x2C | aload_2 | 同上 |
0x2D | aload_3 | 同上 |
0x2E | iaload | 指定的int型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x2F | laload | 指定的long型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x30 | faload | 指定的float型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x31 | daload | 指定的double型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x32 | aaload | 指令格式:aaload 功能描述:棧頂?shù)臄?shù)組下標(biāo)(index)、數(shù)組引用(arrayref)出棧,并根據(jù)這兩個(gè)數(shù)值取出對(duì)應(yīng)的數(shù)組元素值(value)進(jìn)棧。拋出異常:如果arrayref的值為null,會(huì)拋出 ullPointerException。如果index造成數(shù)組越界,會(huì)拋出 rrayIndexOutOfBoundsException。 |
0x33 | baload | 指定的boolean或byte型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x34 | caload | 指定的char型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x35 | saload | 指定的short型數(shù)組的指定下標(biāo)處的值進(jìn)棧 |
0x36 | istore | 將棧頂int型數(shù)值存入指定的局部變量 |
0x37 | lstore | 將棧頂long型數(shù)值存入指定的局部變量 |
0x38 | fstore | 將棧頂float型數(shù)值存入指定的局部變量 |
0x39 | dstore | 將棧頂double型數(shù)值存入指定的局部變量 |
0x3A | astore | 指令格式:astore index,功能描述:將棧頂數(shù)值(objectref)存入當(dāng)前frame的局部變量數(shù)組中指定下標(biāo) ndex 處的變量中,棧頂數(shù)值出棧。 |
0x3B | istore_0 | 將棧頂int型數(shù)值存入第一個(gè)局部變量 |
0x3C | istore_1 | 將棧頂int型數(shù)值存入第二個(gè)局部變量 |
0x3D | istore_2 | 將棧頂int型數(shù)值存入第三個(gè)局部變量 |
0x3E | istore_3 | 將棧頂int型數(shù)值存入第四個(gè)局部變量 |
0x3F | lstore_0 | 將棧頂long型數(shù)值存入第一個(gè)局部變量 |
0x40 | lstore_1 | 將棧頂long型數(shù)值存入第二個(gè)局部變量 |
0x41 | lstore_2 | 將棧頂long型數(shù)值存入第三個(gè)局部變量 |
0x42 | lstore_3 | 將棧頂long型數(shù)值存入第四個(gè)局部變量 |
0x43 | fstore_0 | 將棧頂float型數(shù)值存入第一個(gè)局部變量 |
0x44 | fstore_1 | 將棧頂float型數(shù)值存入第二個(gè)局部變量 |
0x45 | fstore_2 | 將棧頂float型數(shù)值存入第三個(gè)局部變量 |
0x46 | fstore_3 | 將棧頂float型數(shù)值存入第四個(gè)局部變量 |
0x47 | dstore_0 | 將棧頂double型數(shù)值存入第一個(gè)局部變量 |
0x48 | dstore_1 | 將棧頂double型數(shù)值存入第二個(gè)局部變量 |
0x49 | dstore_2 | 將棧頂double型數(shù)值存入第三個(gè)局部變量 |
0x4A | dstore_3 | 將棧頂double型數(shù)值存入第四個(gè)局部變量 |
0x4B | astore_0 | 指令格式:astore_0 能描述: 該指令的行為類(lèi)似于astore指令index為0的情況。 |
0x4C | astore_1 | 同上 |
0x4D | astore_2 | 同上 |
0x4E | astore_3 | 同上 |
0x4F | iastore | 將棧頂int型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x50 | lastore | 將棧頂long型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x51 | fastore | 將棧頂float型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x52 | dastore | 將棧頂double型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x53 | aastore | 指令格式:aastore,功能描述: 根據(jù)棧頂?shù)囊眯蛿?shù)值(value)、數(shù)組下標(biāo)(index)、數(shù)組引用(arrayref)出棧,將數(shù)值存入對(duì)應(yīng)的數(shù)組元素中。拋出異常: 如果value的類(lèi)型和arrayref所引用的數(shù)組的元素類(lèi)型不兼容,會(huì)拋出拋出ArrayStoreException。如果index造成數(shù)組越界,會(huì)拋出ArrayIndexOutOfBoundsException。如果arrayref值為null,會(huì)拋出NullPointerException。 |
0x54 | bastore | 將棧頂boolean或byte型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x55 | castore | 將棧頂char型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x56 | sastore | 將棧頂short型數(shù)值存入指定數(shù)組的指定下標(biāo)處 |
0x57 | pop | 棧頂數(shù)值出棧 (該棧頂數(shù)值不能是long或double型) |
0x58 | pop2 | 棧頂?shù)囊粋€(gè)(如果是long、double型的)或兩個(gè)(其它類(lèi)型的)數(shù)值出棧 |
0x59 | dup | 復(fù)制棧頂數(shù)值,并且復(fù)制值進(jìn)棧 |
0x5A | dup_x1 | 復(fù)制棧頂數(shù)值,并且復(fù)制值進(jìn)棧2次 |
0x5B | dup_x2 | 復(fù)制棧頂數(shù)值,并且復(fù)制值進(jìn)棧2次或3次 |
0x5C | dup2 | 復(fù)制棧頂一個(gè)(long、double型的)或兩個(gè)(其它類(lèi)型的)數(shù)值,并且復(fù)制值進(jìn)棧 |
0x5D | dup2_x1 | |
0x5E | dup2_x2 | |
0x5F | swap | 棧頂?shù)膬蓚€(gè)數(shù)值互換(要求棧頂?shù)膬蓚€(gè)數(shù)值不能是long或double型的) |
0x60 | iadd | 棧頂兩int型數(shù)值相加,并且結(jié)果進(jìn)棧 |
0x61 | ladd | 棧頂兩long型數(shù)值相加,并且結(jié)果進(jìn)棧 |
0x62 | fadd | 棧頂兩float型數(shù)值相加,并且結(jié)果進(jìn)棧 |
0x63 | dadd | 棧頂兩double型數(shù)值相加,并且結(jié)果進(jìn)棧 |
0x64 | isub | 棧頂兩int型數(shù)值相減,并且結(jié)果進(jìn)棧 |
0x65 | lsub | 棧頂兩long型數(shù)值相減,并且結(jié)果進(jìn)棧 |
0x66 | fsub | 棧頂兩float型數(shù)值相減,并且結(jié)果進(jìn)棧 |
0x67 | dsub | 棧頂兩double型數(shù)值相減,并且結(jié)果進(jìn)棧 |
0x68 | imul | 棧頂兩int型數(shù)值相乘,并且結(jié)果進(jìn)棧 |
0x69 | lmul | 棧頂兩long型數(shù)值相乘,并且結(jié)果進(jìn)棧 |
0x6A | fmul | 棧頂兩float型數(shù)值相乘,并且結(jié)果進(jìn)棧 |
0x6B | dmul | 棧頂兩double型數(shù)值相乘,并且結(jié)果進(jìn)棧 |
0x6C | idiv | 棧頂兩int型數(shù)值相除,并且結(jié)果進(jìn)棧 |
0x6D | ldiv | 棧頂兩long型數(shù)值相除,并且結(jié)果進(jìn)棧 |
0x6E | fdiv | 棧頂兩float型數(shù)值相除,并且結(jié)果進(jìn)棧 |
0x6F | ddiv | 棧頂兩double型數(shù)值相除,并且結(jié)果進(jìn)棧 |
0x70 | irem | 棧頂兩int型數(shù)值作取模運(yùn)算,并且結(jié)果進(jìn)棧 |
0x71 | lrem | 棧頂兩long型數(shù)值作取模運(yùn)算,并且結(jié)果進(jìn)棧 |
0x72 | frem | 棧頂兩float型數(shù)值作取模運(yùn)算,并且結(jié)果進(jìn)棧 |
0x73 | drem | 棧頂兩double型數(shù)值作取模運(yùn)算,并且結(jié)果進(jìn)棧 |
0x74 | ineg | 棧頂int型數(shù)值取負(fù),并且結(jié)果進(jìn)棧 |
0x75 | lneg | 棧頂long型數(shù)值取負(fù),并且結(jié)果進(jìn)棧 |
0x76 | fneg | 棧頂float型數(shù)值取負(fù),并且結(jié)果進(jìn)棧 |
0x77 | dneg | 棧頂double型數(shù)值取負(fù),并且結(jié)果進(jìn)棧 |
0x78 | ishl | int型數(shù)值左移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x79 | lshl | long型數(shù)值左移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x7A | ishr | int型數(shù)值帶符號(hào)右移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x7B | lshr | long型數(shù)值帶符號(hào)右移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x7C | iushr | int型數(shù)值無(wú)符號(hào)右移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x7D | lushr | long型數(shù)值無(wú)符號(hào)右移指定位數(shù),并且結(jié)果進(jìn)棧 |
0x7E | iand | 棧頂兩int型數(shù)值按位與,并且結(jié)果進(jìn)棧 |
0x7F | land | 棧頂兩long型數(shù)值按位與,并且結(jié)果進(jìn)棧 |
0x80 | ior | 棧頂兩int型數(shù)值按位或,并且結(jié)果進(jìn)棧 |
0x81 | lor | 棧頂兩long型數(shù)值按位或,并且結(jié)果進(jìn)棧 |
0x82 | ixor | 棧頂兩int型數(shù)值按位異或,并且結(jié)果進(jìn)棧 |
0x83 | lxor | 棧頂兩long型數(shù)值按位異或,并且結(jié)果進(jìn)棧 |
0x84 | iinc | 指定int型變量增加指定值 |
0x85 | i2l | 棧頂int值強(qiáng)轉(zhuǎn)long值,并且結(jié)果進(jìn)棧 |
0x86 | i2f | 棧頂int值強(qiáng)轉(zhuǎn)float值,并且結(jié)果進(jìn)棧 |
0x87 | i2d | 棧頂int值強(qiáng)轉(zhuǎn)double值,并且結(jié)果進(jìn)棧 |
0x88 | l2i | 棧頂long值強(qiáng)轉(zhuǎn)int值,并且結(jié)果進(jìn)棧 |
0x89 | l2f | 棧頂long值強(qiáng)轉(zhuǎn)float值,并且結(jié)果進(jìn)棧 |
0x8A | l2d | 棧頂long值強(qiáng)轉(zhuǎn)double值,并且結(jié)果進(jìn)棧 |
0x8B | f2i | 棧頂float值強(qiáng)轉(zhuǎn)int值,并且結(jié)果進(jìn)棧 |
0x8C | f2l | 棧頂float值強(qiáng)轉(zhuǎn)long值,并且結(jié)果進(jìn)棧 |
0x8D | f2d | 棧頂float值強(qiáng)轉(zhuǎn)double值,并且結(jié)果進(jìn)棧 |
0x8E | d2i | 棧頂double值強(qiáng)轉(zhuǎn)int值,并且結(jié)果進(jìn)棧 |
0x8F | d2l | 棧頂double值強(qiáng)轉(zhuǎn)long值,并且結(jié)果進(jìn)棧 |
0x90 | d2f | 棧頂double值強(qiáng)轉(zhuǎn)float值,并且結(jié)果進(jìn)棧 |
0x91 | i2b | 棧頂int值強(qiáng)轉(zhuǎn)byte值,并且結(jié)果進(jìn)棧 |
0x92 | i2c | 棧頂int值強(qiáng)轉(zhuǎn)char值,并且結(jié)果進(jìn)棧 |
0x93 | i2s | 棧頂int值強(qiáng)轉(zhuǎn)short值,并且結(jié)果進(jìn)棧 |
0x94 | lcmp | 比較棧頂兩long型數(shù)值大小,并且結(jié)果(1,0,-1)進(jìn)棧 |
0x95 | fcmpl | 比較棧頂兩float型數(shù)值大小,并且結(jié)果(1,0,-1)進(jìn)棧;當(dāng)其中一個(gè)數(shù)值為NaN時(shí), -1進(jìn)棧 |
0x96 | fcmpg | 比較棧頂兩float型數(shù)值大小,并且結(jié)果(1,0,-1)進(jìn)棧;當(dāng)其中一個(gè)數(shù)值為NaN時(shí),1進(jìn)棧 |
0x97 | dcmpl | 比較棧頂兩double型數(shù)值大小,并且結(jié)果(1,0,-1)進(jìn)棧;當(dāng)其中一個(gè)數(shù)值為NaN時(shí),-1進(jìn)棧 |
0x98 | dcmpg | 比較棧頂兩double型數(shù)值大小,并且結(jié)果(1,0,-1)進(jìn)棧;當(dāng)其中一個(gè)數(shù)值為NaN時(shí),1進(jìn)棧 |
0x99 | ifeq | 當(dāng)棧頂int型數(shù)值等于0時(shí)跳轉(zhuǎn) |
0x9A | ifne | 當(dāng)棧頂int型數(shù)值不等于0時(shí)跳轉(zhuǎn) |
0x9B | iflt | 當(dāng)棧頂int型數(shù)值小于0時(shí)跳轉(zhuǎn) |
0x9C | ifge | 當(dāng)棧頂int型數(shù)值大于等于0時(shí)跳轉(zhuǎn) |
0x9D | ifgt | 當(dāng)棧頂int型數(shù)值大于0時(shí)跳轉(zhuǎn) |
0x9E | ifle | 當(dāng)棧頂int型數(shù)值小于等于0時(shí)跳轉(zhuǎn) |
0x9F | if_icmpeq | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果等于0時(shí)跳轉(zhuǎn) |
0xA0 | if_icmpne | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果不等于0時(shí)跳轉(zhuǎn) |
0xA1 | if_icmplt | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果小于0時(shí)跳轉(zhuǎn) |
0xA2 | if_icmpge | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果大于等于0時(shí)跳轉(zhuǎn) |
0xA3 | if_icmpgt | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果大于0時(shí)跳轉(zhuǎn) |
0xA4 | if_icmple | 比較棧頂兩int型數(shù)值大小,當(dāng)結(jié)果小于等于0時(shí)跳轉(zhuǎn) |
0xA5 | if_acmpeq | 比較棧頂兩引用型數(shù)值,當(dāng)結(jié)果相等時(shí)跳轉(zhuǎn) |
0xA6 | if_acmpne | 比較棧頂兩引用型數(shù)值,當(dāng)結(jié)果不相等時(shí)跳轉(zhuǎn) |
0xA7 | goto | 無(wú)條件跳轉(zhuǎn) |
0xA8 | jsr | 跳轉(zhuǎn)至指定16位offset位置,并將jsr下一條指令地址壓入棧頂 |
0xA9 | ret | 返回至局部變量指定的index的指令位置(通常與jsr、jsr_w聯(lián)合使用) |
0xAA | tableswitch | 用于switch條件跳轉(zhuǎn),case值連續(xù)(可變長(zhǎng)度指令) |
0xAB | lookupswitch | 用于switch條件跳轉(zhuǎn),case值不連續(xù)(可變長(zhǎng)度指令) |
0xAC | ireturn | 當(dāng)前方法返回int |
0xAD | lreturn | 當(dāng)前方法返回long |
0xAE | freturn | 當(dāng)前方法返回float |
0xAF | dreturn | 當(dāng)前方法返回double |
0xB0 | areturn | 指令格式: areturn。功能描述: 從方法中返回一個(gè)對(duì)象的引用。拋出異常: 如果當(dāng)前方法是synchronized方法,并且當(dāng)前線程不是改方法的鎖的擁有者,會(huì)拋出IllegalMonitorStateException。 |
0xB1 | return | 當(dāng)前方法返回void |
0xB2 | getstatic | 獲取指定類(lèi)的靜態(tài)域,并將其值壓入棧頂 |
0xB3 | putstatic | 為指定的類(lèi)的靜態(tài)域賦值 |
0xB4 | getfield | 獲取指定類(lèi)的實(shí)例域,并將其值壓入棧頂 |
0xB5 | putfield | 為指定的類(lèi)的實(shí)例域賦值 |
0xB6 | invokevirtual | 調(diào)用實(shí)例方法 |
0xB7 | invokespecial | 調(diào)用超類(lèi)構(gòu)造方法、實(shí)例初始化方法、私有方法 |
0xB8 | invokestatic | 調(diào)用靜態(tài)方法 |
0xb9 | invokeinterface | 調(diào)用接口方法 |
0xBA | — | 因?yàn)闅v史原因,該碼點(diǎn)為未使用的保留碼點(diǎn) |
0xBB | new | 建一個(gè)對(duì)象,并且其引用進(jìn)棧 |
0xBC | newarray | 創(chuàng)建一個(gè)基本類(lèi)型數(shù)組,并且其引用進(jìn)棧 |
0xBD | anewarray | 指令格式:anewarray index1 index2,功能描述: 棧頂數(shù)值(count)作為數(shù)組長(zhǎng)度,創(chuàng)建一個(gè)引用 型數(shù)組。棧頂數(shù)值出棧,數(shù)組引用進(jìn)棧。拋出異常: 如果count小于0,會(huì)拋出NegativeArraySizeException |
0xBE | arraylength | 指令格式:arraylength,功能描述:棧頂?shù)臄?shù)組引用(arrayref)出棧,該數(shù)組的長(zhǎng)度進(jìn)棧。拋出異常:如果arrayref的值為null,會(huì)拋出NullPointerException。 |
0xBF | athrow | 指令格式:athrow,功能描述: 將棧頂?shù)臄?shù)值作為異常或錯(cuò)誤拋出。出異常:如果棧頂數(shù)值為null,則使用NullPointerException代替棧頂數(shù)值拋出。如果方法是的,則有可能拋出IllegalMonitorStateException。 |
0xC0 | checkcast | 類(lèi)型轉(zhuǎn)換檢查,如果該檢查未通過(guò)將會(huì)拋出ClassCastException異常 |
0xc1 | instanceof | 檢查對(duì)象是否是指定的類(lèi)的實(shí)例。如果是,1進(jìn)棧;否則,0進(jìn)棧 |
0xC2 | monitorenter | 獲得對(duì)象鎖 |
0xC3 | monitorexit | 釋放對(duì)象鎖 |
0xC4 | wide | 用于修改其他指令的行為 |
0xC5 | multianewarray | 創(chuàng)建指定類(lèi)型和維度的多維數(shù)組(執(zhí)行該指令時(shí),棧中必須包含各維度的長(zhǎng)度值),并且其引用值進(jìn)棧 |
0xC6 | ifnull | 為null時(shí)跳轉(zhuǎn) |
0xC7 | ifnonnull | 不為null時(shí)跳轉(zhuǎn) |
0xC8 | goto_w | 無(wú)條件跳轉(zhuǎn)(寬索引) |
0xC9 | jsr_w | 跳轉(zhuǎn)至指定32位offset位置,并且jsr_w下一條指令地址進(jìn)棧 |
0xCA | breakpoint | |
0xFE | impdep1 | |
0xFF | mpdep2 |
看完了這篇文章,相信你對(duì)“JVM常用指令速查表的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。