主頁 > 後端開發 > 虛擬機位元組碼指令表

虛擬機位元組碼指令表

2020-10-01 16:22:36 後端開發

虛擬機位元組碼指令表收藏學習備用

位元組碼助記符指令含義
0x00 nop 什么都不做
0x01 aconst_null 將null推送至堆疊頂
0x02 iconst_m1 將int型-1推送至堆疊頂
0x03 iconst_0 將int型0推送至堆疊頂
0x04 iconst_1 將int型1推送至堆疊頂
0x05 iconst_2 將int型2推送至堆疊頂
0x06 iconst_3 將int型3推送至堆疊頂
0x07 iconst_4 將int型4推送至堆疊頂
0x08 iconst_5 將int型5推送至堆疊頂
0x09 lconst_0 將long型0推送至堆疊頂
0x0a lconst_1 將long型1推送至堆疊頂
0x0b fconst_0 將float型0推送至堆疊頂
0x0c fconst_1 將float型1推送至堆疊頂
0x0d fconst_2 將float型2推送至堆疊頂
0x0e dconst_0 將double型0推送至堆疊頂
0x0f dconst_1 將double型1推送至堆疊頂
0x10 bipush 將單位元組的常量值(-128~127)推送至堆疊頂
0x11 sipush 將一個短整型常量值(-32768~32767)推送至堆疊頂
0x12 ldc 將int, float或String型常量值從常量池中推送至堆疊頂
0x13 ldc_w 將int, float或String型常量值從常量池中推送至堆疊頂(寬索引)
0x14 ldc2_w 將long或double型常量值從常量池中推送至堆疊頂(寬索引)
0x15 iload 將指定的int型本地變數推送至堆疊頂
0x16 lload 將指定的long型本地變數推送至堆疊頂
0x17 fload 將指定的float型本地變數推送至堆疊頂
0x18 dload 將指定的double型本地變數推送至堆疊頂
0x19 aload 將指定的參考型別本地變數推送至堆疊頂
0x1a iload_0 將第一個int型本地變數推送至堆疊頂
0x1b iload_1 將第二個int型本地變數推送至堆疊頂
0x1c iload_2 將第三個int型本地變數推送至堆疊頂
0x1d iload_3 將第四個int型本地變數推送至堆疊頂
0x1e lload_0 將第一個long型本地變數推送至堆疊頂
0x1f lload_1 將第二個long型本地變數推送至堆疊頂
0x20 lload_2 將第三個long型本地變數推送至堆疊頂
0x21 lload_3 將第四個long型本地變數推送至堆疊頂
0x22 fload_0 將第一個float型本地變數推送至堆疊頂
0x23 fload_1 將第二個float型本地變數推送至堆疊頂
0x24 fload_2 將第三個float型本地變數推送至堆疊頂
0x25 fload_3 將第四個float型本地變數推送至堆疊頂
0x26 dload_0 將第一個double型本地變數推送至堆疊頂
0x27 dload_1 將第二個double型本地變數推送至堆疊頂
0x28 dload_2 將第三個double型本地變數推送至堆疊頂
0x29 dload_3 將第四個double型本地變數推送至堆疊頂
0x2a aload_0 將第一個參考型別本地變數推送至堆疊頂
0x2b aload_1 將第二個參考型別本地變數推送至堆疊頂
0x2c aload_2 將第三個參考型別本地變數推送至堆疊頂
0x2d aload_3 將第四個參考型別本地變數推送至堆疊頂
0x2e iaload 將int型陣列指定索引的值推送至堆疊頂
0x2f laload 將long型陣列指定索引的值推送至堆疊頂
0x30 faload 將float型陣列指定索引的值推送至堆疊頂
0x31 daload 將double型陣列指定索引的值推送至堆疊頂
0x32 aaload 將參考型陣列指定索引的值推送至堆疊頂
0x33 baload 將boolean或byte型陣列指定索引的值推送至堆疊頂
0x34 caload 將char型陣列指定索引的值推送至堆疊頂
0x35 saload 將short型陣列指定索引的值推送至堆疊頂
0x36 istore 將堆疊頂int型數值存入指定本地變數
0x37 lstore 將堆疊頂long型數值存入指定本地變數
0x38 fstore 將堆疊頂float型數值存入指定本地變數
0x39 dstore 將堆疊頂double型數值存入指定本地變數
0x3a astore 將堆疊頂參考型數值存入指定本地變數
0x3b istore_0 將堆疊頂int型數值存入第一個本地變數
0x3c istore_1 將堆疊頂int型數值存入第二個本地變數
0x3d istore_2 將堆疊頂int型數值存入第三個本地變數
0x3e istore_3 將堆疊頂int型數值存入第四個本地變數
0x3f lstore_0 將堆疊頂long型數值存入第一個本地變數
0x40 lstore_1 將堆疊頂long型數值存入第二個本地變數
0x41 lstore_2 將堆疊頂long型數值存入第三個本地變數
0x42 lstore_3 將堆疊頂long型數值存入第四個本地變數
0x43 fstore_0 將堆疊頂float型數值存入第一個本地變數
0x44 fstore_1 將堆疊頂float型數值存入第二個本地變數
0x45 fstore_2 將堆疊頂float型數值存入第三個本地變數
0x46 fstore_3 將堆疊頂float型數值存入第四個本地變數
0x47 dstore_0 將堆疊頂double型數值存入第一個本地變數
0x48 dstore_1 將堆疊頂double型數值存入第二個本地變數
0x49 dstore_2 將堆疊頂double型數值存入第三個本地變數
0x4a dstore_3 將堆疊頂double型數值存入第四個本地變數
0x4b astore_0 將堆疊頂參考型數值存入第一個本地變數
0x4c astore_1 將堆疊頂參考型數值存入第二個本地變數
0x4d astore_2 將堆疊頂參考型數值存入第三個本地變數
0x4e astore_3 將堆疊頂參考型數值存入第四個本地變數
0x4f iastore 將堆疊頂int型數值存入指定陣列的指定索引位置
0x50 lastore 將堆疊頂long型數值存入指定陣列的指定索引位置
0x51 fastore 將堆疊頂float型數值存入指定陣列的指定索引位置
0x52 dastore 將堆疊頂doube型數值存入指定陣列的指定索引位置
0x53 aastore 將堆疊頂參考型數值存入指定陣列的指定索引位置
0x54 bastore 將堆疊頂boolean或byte型數值存入指定陣列的指定索引位置
0x55 castore 將堆疊頂char型數值存入指定陣列的指定索引位置
0x56 sastore 將堆疊頂short型數值存入指定陣列的指定索引位置
0x57 pop 將堆疊頂數值彈出 (數值不能是long或double型別的)
0x58 pop2 將堆疊頂的一個(對于long或double型別)或兩個數值(對于非long或double的其他型別)彈出
0x59 dup 復制堆疊頂數值并將復制值壓入堆疊頂
0x5a dup_x1 復制堆疊頂數值并將兩個復制值壓入堆疊頂
0x5b dup_x2 復制堆疊頂數值并將三個(或兩個)復制值壓入堆疊頂
0x5c dup2 復制堆疊頂一個(對于long或double型別)或兩個(對于非long或double的其他型別)數值并將復制值壓入堆疊頂
0x5d dup2_x1 dup_x1 指令的雙倍版本
0x5e dup2_x2 dup_x2 指令的雙倍版本
0x5f swap 將堆疊最頂端的兩個數值互換(數值不能是long或double型別)
0x60 iadd 將堆疊頂兩int型數值相加并將結果壓入堆疊頂
0x61 ladd 將堆疊頂兩long型數值相加并將結果壓入堆疊頂
0x62 fadd 將堆疊頂兩float型數值相加并將結果壓入堆疊頂
0x63 dadd 將堆疊頂兩duble型數值相加并將結果壓入堆疊頂
0x64 isub 將堆疊頂兩int型數值相減并將結果壓入堆疊頂
0x65 lsub 將堆疊頂兩long型數值相減并將結果壓入堆疊頂
0x66 fsub 將堆疊頂兩float型數值相減并將結果壓入堆疊頂
0x67 dsub 將堆疊頂兩double型數值相減并將結果壓入堆疊頂
0x68 imul 將堆疊頂兩int型數值相乘并將結果壓入堆疊頂
0x69 lmul 將堆疊頂兩long型數值相乘并將結果壓入堆疊頂
0x6a fmul 將堆疊頂兩float型數值相乘并將結果壓入堆疊頂
0x6b dmul 將堆疊頂兩double型數值相乘并將結果壓入堆疊頂
0x6c idiv 將堆疊頂兩int型數值相除并將結果壓入堆疊頂
0x6d ldiv 將堆疊頂兩long型數值相除并將結果壓入堆疊頂
0x6e fdiv 將堆疊頂兩float型數值相除并將結果壓入堆疊頂
0x6f ddiv 將堆疊頂兩double型數值相除并將結果壓入堆疊頂
0x70 irem 將堆疊頂兩int型數值作取模運算并將結果壓入堆疊頂
0x71 lrem 將堆疊頂兩long型數值作取模運算并將結果壓入堆疊頂
0x72 frem 將堆疊頂兩float型數值作取模運算并將結果壓入堆疊頂
0x73 drem 將堆疊頂兩double型數值作取模運算并將結果壓入堆疊頂
0x74 ineg 將堆疊頂int型數值取負并將結果壓入堆疊頂
0x75 lneg 將堆疊頂long型數值取負并將結果壓入堆疊頂
0x76 fneg 將堆疊頂float型數值取負并將結果壓入堆疊頂
0x77 dneg 將堆疊頂double型數值取負并將結果壓入堆疊頂
0x78 ishl 將int型數值左移位指定位數并將結果壓入堆疊頂
0x79 lshl 將long型數值左移位指定位數并將結果壓入堆疊頂
0x7a ishr 將int型數值右(帶符號)移位指定位數并將結果壓入堆疊頂
0x7b lshr 將long型數值右(帶符號)移位指定位數并將結果壓入堆疊頂
0x7c iushr 將int型數值右(無符號)移位指定位數并將結果壓入堆疊頂
0x7d lushr 將long型數值右(無符號)移位指定位數并將結果壓入堆疊頂
0x7e iand 將堆疊頂兩int型數值作“按位與”并將結果壓入堆疊頂
0x7f land 將堆疊頂兩long型數值作“按位與”并將結果壓入堆疊頂
0x80 ior 將堆疊頂兩int型數值作“按位或”并將結果壓入堆疊頂
0x81 lor 將堆疊頂兩long型數值作“按位或”并將結果壓入堆疊頂
0x82 ixor 將堆疊頂兩int型數值作“按位異或”并將結果壓入堆疊頂
0x83 lxor 將堆疊頂兩long型數值作“按位異或”并將結果壓入堆疊頂
0x84 iinc 將指定int型變數增加指定值(i++, i–-, i+=2等)
0x85 i2l 將堆疊頂int型數值強制轉換成long型數值并將結果壓入堆疊頂
0x86 i2f 將堆疊頂int型數值強制轉換成float型數值并將結果壓入堆疊頂
0x87 i2d 將堆疊頂int型數值強制轉換成double型數值并將結果壓入堆疊頂
0x88 l2i 將堆疊頂long型數值強制轉換成int型數值并將結果壓入堆疊頂
0x89 l2f 將堆疊頂long型數值強制轉換成float型數值并將結果壓入堆疊頂
0x8a l2d 將堆疊頂long型數值強制轉換成double型數值并將結果壓入堆疊頂
0x8b f2i 將堆疊頂float型數值強制轉換成int型數值并將結果壓入堆疊頂
0x8c f2l 將堆疊頂float型數值強制轉換成long型數值并將結果壓入堆疊頂
0x8d f2d 將堆疊頂float型數值強制轉換成double型數值并將結果壓入堆疊頂
0x8e d2i 將堆疊頂double型數值強制轉換成int型數值并將結果壓入堆疊頂
0x8f d2l 將堆疊頂double型數值強制轉換成long型數值并將結果壓入堆疊頂
0x90 d2f 將堆疊頂double型數值強制轉換成float型數值并將結果壓入堆疊頂
0x91 i2b 將堆疊頂int型數值強制轉換成byte型數值并將結果壓入堆疊頂
0x92 i2c 將堆疊頂int型數值強制轉換成char型數值并將結果壓入堆疊頂
0x93 i2s 將堆疊頂int型數值強制轉換成short型數值并將結果壓入堆疊頂
0x94 lcmp 比較堆疊頂兩long型數值大小,并將結果(1,0,-1)壓入堆疊頂
0x95 fcmpl 比較堆疊頂兩float型數值大小,并將結果(1,0,-1)壓入堆疊頂;當其中一個數值為NaN時,將-1壓入堆疊頂
0x96 fcmpg 比較堆疊頂兩float型數值大小,并將結果(1,0,-1)壓入堆疊頂;當其中一個數值為NaN時,將1壓入堆疊頂
0x97 dcmpl 比較堆疊頂兩double型數值大小,并將結果(1,0,-1)壓入堆疊頂;當其中一個數值為NaN時,將-1壓入堆疊頂
0x98 dcmpg 比較堆疊頂兩doube型數值大小,并將結果(1,0,-1)壓入堆疊頂;當其中一個數值為NaN時,將1壓入堆疊頂
0x99 ifeq 當堆疊頂int型數值等于0時跳轉
0x9a ifne 當堆疊頂int型數值不等于0時跳轉
0x9b iflt 當堆疊頂int型數值小于0時跳轉
0x9c ifge 當堆疊頂int型數值大于等于0時跳轉
0x9d ifgt 當堆疊頂int型數值大于0時跳轉
0x9e ifle 當堆疊頂int型數值小于等于0時跳轉
0x9f if_icmpeq 比較堆疊頂兩int型數值大小,當結果等于0時跳轉
0xa0 if_icmpne 比較堆疊頂兩int型數值大小,當結果不等于0時跳轉
0xa1 if_icmplt 比較堆疊頂兩int型數值大小,當結果小于0時跳轉
0xa2 if_icmpge 比較堆疊頂兩int型數值大小,當結果大于等于0時跳轉
0xa3 if_icmpgt 比較堆疊頂兩int型數值大小,當結果大于0時跳轉
0xa4 if_icmple 比較堆疊頂兩int型數值大小,當結果小于等于0時跳轉
0xa5 if_acmpeq 比較堆疊頂兩參考型數值,當結果相等時跳轉
0xa6 if_acmpne 比較堆疊頂兩參考型數值,當結果不相等時跳轉
0xa7 goto 無條件跳轉
0xa8 jsr 跳轉至指定16位offset位置,并將jsr下一條指令地址壓入堆疊頂
0xa9 ret 回傳至本地變數指定的index的指令位置(一般與jsr或jsr_w聯合使用)
0xaa tableswitch 用于switch條件跳轉,case值連續(可變長度指令)
0xab lookupswitch 用于switch條件跳轉,case值不連續(可變長度指令)
0xac ireturn 從當前方法回傳int
0xad lreturn 從當前方法回傳long
0xae freturn 從當前方法回傳float
0xaf dreturn 從當前方法回傳double
0xb0 areturn 從當前方法回傳物件參考
0xb1 return 從當前方法回傳void
0xb2 getstatic 獲取指定類的靜態域,并將其值壓入堆疊頂
0xb3 putstatic 為指定的類的靜態域賦值
0xb4 getfield 獲取指定類的實體域,并將其值壓入堆疊頂
0xb5 putfield 為指定的類的實體域賦值
0xb6 invokevirtual 呼叫實體方法
0xb7 invokespecial 呼叫超類構造方法,實體初始化方法,私有方法
0xb8 invokestatic 呼叫靜態方法
0xb9 invokeinterface 呼叫介面方法
0xba invokedynamic 呼叫動態方法
0xbb new 創建一個物件,并將其參考值壓入堆疊頂
0xbc newarray 創建一個指定原始型別(如int, float, char等)的陣列,并將其參考值壓入堆疊頂
0xbd anewarray 創建一個參考型(如類,介面,陣列)的陣列,并將其參考值壓入堆疊頂
0xbe arraylength 獲得陣列的長度值并壓入堆疊頂
0xbf athrow 將堆疊頂的例外拋出
0xc0 checkcast 檢驗型別轉換,檢驗未通過將拋出ClassCastException
0xc1 instanceof 檢驗物件是否是指定的類的實體,如果是將1壓入堆疊頂,否則將0壓入堆疊頂
0xc2 monitorenter 獲得物件的鎖,用于同步方法或同步塊
0xc3 monitorexit 釋放物件的鎖,用于同步方法或同步塊
0xc4 wide 擴展本地變數的寬度
0xc5 multianewarray 創建指定型別和指定維度的多維陣列(執行該指令時,操作堆疊中必須包含各維度的長度值),并將其參考值壓入堆疊頂
0xc6 ifnull 為null時跳轉
0xc7 ifnonnull 不為null時跳轉
0xc8 goto_w 無條件跳轉(寬索引)
0xc9 jsr_w 跳轉至指定32位offset位置,并將jsr_w下一條指令地址壓入堆疊頂

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/145711.html

標籤:Java

上一篇:迎難而上ArrayList,原始碼分析走一波

下一篇:集群多JVM分布式鎖實作

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more