原文:第26篇-虛擬機對象操作指令之putstatic

之前已經介紹了getstatic與getfield指令的匯編代碼執行邏輯,這一篇介紹putstatic指令的執行邏輯,putfield將不再介紹,大家可以自己去研究,相信大家有這個實力。 putstatic指令為指定類的靜態域賦值。字節碼指令的格式如下: putstatic indexbyte indexbyte 無符號數indexbyte 和indexbyte 構建為 indexbyte lt ...

2021-09-17 09:23 0 250 推薦指數:

查看詳情

第24-虛擬機對象操作指令之getstatic

Java虛擬機規范中定義的對象操作相關的字節碼指令如下表所示。 0xb2 getstatic 獲取指定類的靜態域,並將其值壓入棧頂 0xb3 putstatic 為指定的類的靜態域賦值 ...

Wed Sep 15 17:39:00 CST 2021 0 255
第25-虛擬機對象操作指令之getfield

getfield指令表示獲取指定類的實例域,並將其值壓入棧頂。其格式如下: getstatic indexbyte1 indexbyte2 無符號數indexbyte1和indexbyte2構建為(indexbyte1<<8)|indexbyte2,這個值指明了一個當前 ...

Fri Sep 17 00:55:00 CST 2021 0 208
第22-虛擬機字節碼之運算指令

虛擬機規范中與運算相關的字節碼指令如下表所示。 0x60 iadd 將棧頂兩int型數值相加並將結果壓入棧頂 0x61 ladd 將棧頂兩long型數值相加並將結果壓入 ...

Mon Sep 13 17:32:00 CST 2021 0 182
java虛擬機指令dup的理解

舉個例子: 上面代碼編譯后的字節碼指令如下: 1) 其中new指令在java堆上為Exception對象分配內存空間,並將地址壓入操作數棧頂; 2) 然后dup指令為復制操作數棧頂值,並將其壓入棧頂,也就是說此時操作數棧上有連續相同的兩個對象地址 ...

Fri Oct 20 18:03:00 CST 2017 4 2054
虛擬機字節碼指令

Java虛擬機指令由一個字節長度的、代表着某種特定操作含義的數字(稱為操作碼,Opcode)以及跟隨其后的零至多個代表此操作所需參數(稱為操作數,Operands)而構成。 基本數據類型 1、除了long和double類型外,每個變量都占局部變量區中的一個變量槽(slot),而long ...

Thu Mar 08 00:35:00 CST 2018 0 2090
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM