日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【JVM调优】JVM指令集大全

發布時間:2025/5/22 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【JVM调优】JVM指令集大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字節碼助記符指令含義
0x00nopNone
0x01aconst_null將 null 推送至棧頂
0x02iconst_m1將 int 型-1 推送至棧頂
0x03iconst_0將 int 型 0 推送至棧頂
0x04iconst_1將 int 型 1 推送至棧頂
0x05iconst_2將 int 型 2 推送至棧頂
0x06iconst_3將 int 型 3 推送至棧頂
0x07iconst_4將 int 型 4 推送至棧頂
0x08iconst_5將 int 型 5 推送至棧頂
0x09lconst_0將 long 型 0 推送至棧頂
0x0alconst_1將 long 型 1 推送至棧頂
0x0bfconst_0將 float 型 0 推送至棧頂
0x0cfconst_1將 float 型 1 推送至棧頂
0x0dfconst_2將 float 型 2 推送至棧頂
0x0edconst_0將 double 型 0 推送至棧頂
0x0fdconst_1將 double 型 1 推送至棧頂
0x10bipush將單字節的常量值(-128~127)推送至棧頂
0x11sipush將一個短整型常量(-32768~32767)推送至棧頂
0x12ldc將 int,float 或 String 型常量值從常量池中推送至棧頂
0x13ldc_w將 int,float 或 String 型常量值從常量池中推送至棧頂(寬索引)
0x14ldc2_w將 long 或 double 型常量值從常量池中推送至棧頂(寬索引)
0x15iload將指定的 int 型本地變量推送至棧頂
0x16lload將指定的 long 型本地變量推送至棧頂
0x17fload將指定的 float 型本地變量推送至棧頂
0x18dload將指定的 double 型本地變量推送至棧頂
0x19aload將指定的引用類型本地變量推送至棧頂
0x1aiload_0將第一個 int 型本地變量推送至棧頂
0x1biload_1將第二個 int 型本地變量推送至棧頂
0x1ciload_2將第三個 int 型本地變量推送至棧頂
0x1diload_3將第四個 int 型本地變量推送至棧頂
0x1elload_0將第一個 long 型本地變量推送至棧頂
0x1flload_1將第二個 long 型本地變量推送至棧頂
0x20lload_2將第三個 long 型本地變量推送至棧頂
0x21lload_3將第四個 long 型本地變量推送至棧頂
0x22fload_0將第一個 float 型本地變量推送至棧頂
0x23fload_1將第二個 float 型本地變量推送至棧頂
0x24fload_2將第三個 float 型本地變量推送至棧頂
0x25fload_3將第四個 float 型本地變量推送至棧頂
0x26dload_0將第一個 double 型本地變量推送至棧頂
0x27dload_1將第二個 double 型本地變量推送至棧頂
0x28dload_2將第三個 double 型本地變量推送至棧頂
0x29dload_3將第四個 double 型本地變量推送至棧頂
0x2aaload_0將第一個引用類型本地變量推送至棧頂
0x2baload_1將第二個引用類型本地變量推送至棧頂
0x2caload_2將第三個引用類型本地變量推送至棧頂
0x2daload_3將第四個引用類型本地變量推送至棧頂
0x2eiaload將 int 型數組指定索引的值推送至棧頂
0x2flaload將 long 型數組指定索引的值推送至棧頂
0x30faload將 float 型數組指定索引的值推送至棧頂
0x31daload將 double 型數組指定索引的值推送至棧頂
0x32aaload將引用類型數組指定索引的值推送至棧頂
0x33baload將 boolean 或 byte 型數組指定索引的值推送至棧頂
0x34caload將 char 型數組指定索引的值推送至棧頂
0x35saload將 short 型數組指定索引的值推送至棧頂
0x36istore將棧頂 int 型數值存入指定本地變量
0x37lstore將棧頂 long 型數值存入指定本地變量
0x38fstore將棧頂 float 型數值存入指定本地變量
0x39dstore將棧頂 double 型數值存入指定本地變量
0x3aastore將棧頂引用類型數值存入指定本地變量
0x3bistore_0將棧頂 int 型數值存入第一個本地變量
0x3cistore_1將棧頂 int 型數值存入第二個本地變量
0x3distore_2將棧頂 int 型數值存入第三個本地變量
0x3eistore_3將棧頂 int 型數值存入第四個本地變量
0x3flstore_0將棧頂 long 型數值存入第一個本地變量
0x40lstore_1將棧頂 long 型數值存入第二個本地變量
0x41lstore_2將棧頂 long 型數值存入第三個本地變量
0x42lstore_3將棧頂 long 型數值存入第四個本地變量
0x43fstore_0將棧頂 float 型數值存入第一個本地變量
0x44fstore_1將棧頂 float 型數值存入第二個本地變量
0x45fstore_2將棧頂 float 型數值存入第三個本地變量
0x46fstore_3將棧頂 float 型數值存入第四個本地變量
0x47dstore_0將棧頂 double 型數值存入第一個本地變量
0x48dstore_1將棧頂 double 型數值存入第二個本地變量
0x49dstore_2將棧頂 double 型數值存入第三個本地變量
0x4adstore_3將棧頂 double 型數值存入第四個本地變量
0x4bastore_0將棧頂引用型數值存入第一個本地變量
0x4castore_1將棧頂引用型數值存入第二個本地變量
0x4dastore_2將棧頂引用型數值存入第三個本地變量
0x4eastore_3將棧頂引用型數值存入第四個本地變量
0x4fiastore將棧頂 int 型數值存入指定數組的指定索引位置
0x50lastore將棧頂 long 型數值存入指定數組的指定索引位置
0x51fastore將棧頂 float 型數值存入指定數組的指定索引位置
0x52dastore將棧頂 double 型數值存入指定數組的指定索引位置
0x53aastore將棧頂引用型數值存入指定數組的指定索引位置
0x54bastore將棧頂 boolean 或 byte 型數值存入指定數組的指定索引位置
0x55castore將棧頂 char 型數值存入指定數組的指定索引位置
0x56sastore將棧頂 short 型數值存入指定數組的指定索引位置
0x57pop將棧頂數值彈出(數值不能是 long 或 double 類型的)
0x58pop2將棧頂的一個(對于非 long 或 double 類型)或兩個數值(對于非 long 或 double 的其他類型)彈出
0x59dup復制棧頂數值并將復制值壓入棧頂
0x5adup_x1復制棧頂數值并將兩個復制值壓入棧頂
0x5bdup_x2復制棧頂數值并將三個(或兩個)復制值壓入棧頂
0x5cdup2復制棧頂一個(對于 long 或 double 類型)或兩個(對于非 long 或 double 的其他類型)數值并將復制值壓入棧頂
0x5ddup2_x1dup_x1 指令的雙倍版本
0x5edup2_x2dup_x2 指令的雙倍版本
0x5fswap將棧頂最頂端的兩個數值互換(數值不能是 long 或 double 類型)
0x60iadd將棧頂兩 int 型數值相加并將結果壓入棧頂
0x61ladd將棧頂兩 long 型數值相加并將結果壓入棧頂
0x62fadd將棧頂兩 float 型數值相加并將結果壓入棧頂
0x63dadd將棧頂兩 double 型數值相加并將結果壓入棧頂
0x64isub將棧頂兩 int 型數值相減并將結果壓入棧頂
0x65lsub將棧頂兩 long 型數值相減并將結果壓入棧頂
0x66fsub將棧頂兩 float 型數值相減并將結果壓入棧頂
0x67dsub將棧頂兩 double 型數值相減并將結果壓入棧頂
0x68imul將棧頂兩 int 型數值相乘并將結果壓入棧頂
0x69lmul將棧頂兩 long 型數值相乘并將結果壓入棧頂
0x6afmul將棧頂兩 float 型數值相乘并將結果壓入棧頂
0x6bdmul將棧頂兩 double 型數值相乘并將結果壓入棧頂
0x6cidiv將棧頂兩 int 型數值相除并將結果壓入棧頂
0x6dldiv將棧頂兩 long 型數值相除并將結果壓入棧頂
0x6efdiv將棧頂兩 float 型數值相除并將結果壓入棧頂
0x6fddiv將棧頂兩 double 型數值相除并將結果壓入棧頂
0x70irem將棧頂兩 int 型數值作取模運算并將結果壓入棧頂
0x71lrem將棧頂兩 long 型數值作取模運算并將結果壓入棧頂
0x72frem將棧頂兩 float 型數值作取模運算并將結果壓入棧頂
0x73drem將棧頂兩 double 型數值作取模運算并將結果壓入棧頂
0x74ineg將棧頂 int 型數值取負并將結果壓入棧頂
0x75lneg將棧頂 long 型數值取負并將結果壓入棧頂
0x76fneg將棧頂 float 型數值取負并將結果壓入棧頂
0x77dneg將棧頂 double 型數值取負并將結果壓入棧頂
0x78ishl將 int 型數值左移指定位數并將結果壓入棧頂
0x79lshl將 long 型數值左移指定位數并將結果壓入棧頂
0x7aishr將 int 型數值右(帶符號)移指定位數并將結果壓入棧頂
0x7blshr將 long 型數值右(帶符號)移指定位數并將結果壓入棧頂
0x7ciushr將 int 型數值右(無符號)移指定位數并將結果壓入棧頂
0x7dlushr將 long 型數值右(無符號)移指定位數并將結果壓入棧頂
0x7eiand將棧頂兩 int 型數值"按位與"并將結果壓入棧頂
0x7fland將棧頂兩 long 型數值"按位與"并將結果壓入棧頂
0x80ior將棧頂兩 int 型數值"按位或"并將結果壓入棧頂
0x81lor將棧頂兩 long 型數值"按位或"并將結果壓入棧頂
0x82ixor將棧頂兩 int 型數值"按位異或"并將結果壓入棧頂
0x83lxor將棧頂兩 long 型數值"按位異或"并將結果壓入棧頂
0x84iinc將指定 int 型變量增加指定值(如 i++, i–, i+=2 等)
0x85i2l將棧頂 int 型數值強制轉換為 long 型數值并將結果壓入棧頂
0x86i2f將棧頂 int 型數值強制轉換為 float 型數值并將結果壓入棧頂
0x87i2d將棧頂 int 型數值強制轉換為 double 型數值并將結果壓入棧頂
0x88l2i將棧頂 long 型數值強制轉換為 int 型數值并將結果壓入棧頂
0x89l2f將棧頂 long 型數值強制轉換為 float 型數值并將結果壓入棧頂
0x8al2d將棧頂 long 型數值強制轉換為 double 型數值并將結果壓入棧頂
0x8bf2i將棧頂 float 型數值強制轉換為 int 型數值并將結果壓入棧頂
0x8cf2l將棧頂 float 型數值強制轉換為 long 型數值并將結果壓入棧頂
0x8df2d將棧頂 float 型數值強制轉換為 double 型數值并將結果壓入棧頂
0x8ed2i將棧頂 double 型數值強制轉換為 int 型數值并將結果壓入棧頂
0x8fd2l將棧頂 double 型數值強制轉換為 long 型數值并將結果壓入棧頂
0x90d2f將棧頂 double 型數值強制轉換為 float 型數值并將結果壓入棧頂
0x91i2b將棧頂 int 型數值強制轉換為 byte 型數值并將結果壓入棧頂
0x92i2c將棧頂 int 型數值強制轉換為 char 型數值并將結果壓入棧頂
0x93i2s將棧頂 int 型數值強制轉換為 short 型數值并將結果壓入棧頂
0x94lcmp比較棧頂兩 long 型數值大小, 并將結果(1, 0 或-1)壓入棧頂
0x95fcmpl比較棧頂兩 float 型數值大小, 并將結果(1, 0 或-1)壓入棧頂;當其中一個數值為 NaN 時, 將-1 壓入棧頂
0x96fcmpg比較棧頂兩 float 型數值大小, 并將結果(1, 0 或-1)壓入棧頂;當其中一個數值為 NaN 時, 將 1 壓入棧頂
0x97dcmpl比較棧頂兩 double 型數值大小, 并將結果(1, 0 或-1)壓入棧頂;當其中一個數值為 NaN 時, 將-1 壓入棧頂
0x98dcmpg比較棧頂兩 double 型數值大小, 并將結果(1, 0 或-1)壓入棧頂;當其中一個數值為 NaN 時, 將 1 壓入棧頂
0x99ifeq當棧頂 int 型數值等于 0 時跳轉
0x9aifne當棧頂 int 型數值不等于 0 時跳轉
0x9biflt當棧頂 int 型數值小于 0 時跳轉
0x9cifge當棧頂 int 型數值大于等于 0 時跳轉
0x9difgt當棧頂 int 型數值大于 0 時跳轉
0x9eifle當棧頂 int 型數值小于等于 0 時跳轉
0x9fif_icmpeq比較棧頂兩 int 型數值大小, 當結果等于 0 時跳轉
0xa0if_icmpne比較棧頂兩 int 型數值大小, 當結果不等于 0 時跳轉
0xa1if_icmplt比較棧頂兩 int 型數值大小, 當結果小于 0 時跳轉
0xa2if_icmpge比較棧頂兩 int 型數值大小, 當結果大于等于 0 時跳轉
0xa3if_icmpgt比較棧頂兩 int 型數值大小, 當結果大于 0 時跳轉
0xa4if_icmple比較棧頂兩 int 型數值大小, 當結果小于等于 0 時跳轉
0xa5if_acmpeq比較棧頂兩引用型數值, 當結果相等時跳轉
0xa6if_acmpne比較棧頂兩引用型數值, 當結果不相等時跳轉
0xa7goto無條件跳轉
0xa8jsr跳轉至指定的 16 位 offset 位置, 并將 jsr 的下一條指令地址壓入棧頂
0xa9ret返回至本地變量指定的 index 的指令位置(一般與 jsr 或 jsr_w 聯合使用)
0xaatableswitch用于 switch 條件跳轉, case 值連續(可變長度指令)
0xablookupswitch用于 switch 條件跳轉, case 值不連續(可變長度指令)
0xacireturn從當前方法返回 int
0xadlreturn從當前方法返回 long
0xaefreturn從當前方法返回 float
0xafdreturn從當前方法返回 double
0xb0areturn從當前方法返回對象引用
0xb1return從當前方法返回 void
0xb2getstatic獲取指定類的靜態域, 并將其壓入棧頂
0xb3putstatic為指定類的靜態域賦值
0xb4getfield獲取指定類的實例域, 并將其壓入棧頂
0xb5putfield為指定類的實例域賦值
0xb6invokevirtual調用實例方法
0xb7invokespecial調用超類構建方法, 實例初始化方法, 私有方法
0xb8invokestatic調用靜態方法
0xb9invokeinterface調用接口方法
0xbainvokedynamic調用動態方法
0xbbnew創建一個對象, 并將其引用引用值壓入棧頂
0xbcnewarray創建一個指定的原始類型(如 int, float, char 等)的數組,并將其引用值壓入棧頂
0xbdanewarray創建一個引用型(如類, 接口, 數組)的數組, 并將其引用值壓入棧頂
0xbearraylength獲取數組的長度值并壓入棧頂
0xbfathrow將棧頂的異常拋出
0xc0checkcast檢驗類型轉換, 檢驗未通過將拋出 ClassCastException
0xc1instanceof檢驗對象是否是指定類的實際, 如果是將 1 壓入棧頂, 否則將 0 壓入棧頂
0xc2monitorenter獲得對象的鎖, 用于同步方法或同步塊
0xc3monitorexit釋放對象的鎖, 用于同步方法或同步塊
0xc4wide擴展本地變量的寬度
0xc5multianewarray創建指定類型和指定維度的多維數組(執行該指令時,操作棧中必須包含各維度的長度值), 并將其引用壓入棧頂
0xc6ifnull為 null 時跳轉
0xc7ifnonnull不為 null 時跳轉
0xc8goto_w無條件跳轉(寬索引)
0xc9jsr_w跳轉至指定的 32 位 offset 位置, 并將 jsr_w 的下一條指令地址壓入棧頂
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【JVM调优】JVM指令集大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。