idea使用jclasslib插件查看字節(jié)碼
安裝jclasslib插件
直接在idea的插件列表中搜索 jclasslib 插件并安裝:

使用
我們寫一個(gè)自動裝箱和拆箱的代碼
public class Main {
public static void main(String[] args) {
Integer x = 1;
int y = x;
}
}
點(diǎn)擊頂部菜單中的 build->;編譯當(dāng)前文件

然后點(diǎn)擊菜單中的 view ->show Bytecode with Jclasslib

即可在右側(cè)窗口中看到字節(jié)碼

通過字節(jié)碼我們可以看到 自動拆裝箱實(shí)際就是編譯器的語法糖,實(shí)際在字節(jié)碼層面仍然執(zhí)行valueOf和initValue
0 iconst_1 # 取出常量 1 1 invokestatic #2 <java/lang/Integer.valueOf : (I)Ljava/lang/Integer;> # 執(zhí)行Integer的valueOf靜態(tài)方法 4 astore_1 # 存儲引用到棧幀的局部變量表 slot1 5 aload_1 # 加載變量1到操作數(shù)棧 6 invokevirtual #3 <java/lang/Integer.intValue : ()I> # 執(zhí)行對象的intValue方法 9 istore_2 # 值存儲在局部變量表中的slot2 10 return
以上就是idea使用jclasslib插件查看字節(jié)碼的詳細(xì)內(nèi)容,更多關(guān)于idea jclasslib查看字節(jié)碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Spring Security組件一鍵接入驗(yàn)證碼登錄和小程序登錄的詳細(xì)過程
這篇文章主要介紹了Spring Security 一鍵接入驗(yàn)證碼登錄和小程序登錄,簡單介紹一下這個(gè)插件包的相關(guān)知識,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-04-04
Shiro中session超時(shí)頁面跳轉(zhuǎn)的處理方式
這篇文章主要介紹了Shiro中session超時(shí)頁面跳轉(zhuǎn)的處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Java操作Elasticsearch?rest-high-level-client?的基本使用
這篇文章主要介紹了Java操作Elasticsearch?rest-high-level-client?的基本使用,本篇主要講解一下?rest-high-level-client?去操作?Elasticsearch的方法,結(jié)合實(shí)例代碼給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10
Java線程活鎖的實(shí)現(xiàn)與死鎖等的區(qū)別
活鎖是一種遞歸情況,其中兩個(gè)或更多線程將繼續(xù)重復(fù)特定的代碼邏輯,本文主要介紹了Java線程活鎖的實(shí)現(xiàn)與死鎖等的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04
Java中BufferedReader和BufferedWriter使用方式
這篇文章主要介紹了Java中BufferedReader和BufferedWriter使用方式,F(xiàn)ileWriter?類從?OutputStreamWriter?類繼承而來,BufferedReader?類從字符輸入流中讀取文本并緩沖字符,以便有效地讀取字符,數(shù)組和行2022-06-06

