IDEA字節碼學習查看神器jclasslib bytecode viewer介紹


轉載來自:https://blog.csdn.net/w605283073/article/details/103209221

一、背景

很多人想學習Java反匯編后的字節碼,但是一方面缺乏好的資料,另外一方面缺乏好的工具。

關於資料大家可以看 《Java虛擬機規范》、《深入理解Java虛擬機》,還可以購買 JVM字節碼相關的專欄。

雖然大家可以使用 JDK 自帶的 javap 命令行工具,但是總是有些不方便。

那么有啥好的工具嗎?

有。

叫啥?

jclasslib bytecode viewer

接下來詳細介紹下這款神器。

 

二、詳解

2.1 是什么?

github 地址https://github.com/ingokegel/jclasslib

jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.

jclasslib bytecode viewer 是一個可以可視化已編譯Java類文件和所包含的字節碼的工具。 另外,它還提供一個庫,可以讓開發人員讀寫Java類文件和字節碼。

2.2 為什么?

有 javap指令還需要這個干啥哩?

如果你真覺得 javap 非常好用,非常順手,可以不需要這個軟件。

但是很多人不喜歡總是敲命令,如果總是敲命令就會降低自己看字節碼的頻率。

此時可以嘗試使用該插件。

2.3 安裝和使用

2.3.1 安裝

建議直接通過idea的插件庫搜索安裝然后重啟即可,下面我已經安裝過了。

點擊  Install安裝,安裝后點擊  Restart IDE 重啟 IDEA

2.3.2使用

使用時直接選擇 View --> Show Bytecode With jclasslib

注意:如果是自己項目的源碼需要先編譯

jclasslib窗口

可以查看基本信息、常量池、接口、屬性、函數等信息。

主要優點:

1 不需要使用javap指令,使用簡單

2 點擊字節碼指令可以跳轉到 java虛擬機規范對應的章節。

比如我們想了解 putstatic 的含義,可以點擊該指令

自動通過瀏覽器打開虛擬機規范並定位到該指令位置,非常方便。

 

三、看法

可能有一些人覺得學習字節碼沒有必要,並不影響自己的學習,也不影響平時開發。

但是人總是根據自己已經掌握的內容來解決問題。

有一個很有意思的現象,有時候你認為的“用不到”,只不過是不想學的理由,只不過是因為沒掌握真正需要的場景你想不到用而已。

舉一個現實的例子:

比如你是一個文科生,你對計算機不是很了解,老師發給你一張圖片有幾千個文字,讓你打成文字。

如果你不了解很多知識,手工打字,可能耗時3小時。

此時如果你了解過語音輸入,你可以自己讀然后語音自動轉成文字,然后稍微修改一些小錯誤即可,比如用時1小時,大大節省了時間。

此時如果你了解OCR文字識別軟件,你可以找免費的或者收費的OCR軟件,5分鍾以內解決問題。

其實學習技術也是這樣,你如果是突擊出來的專業基礎不扎實,你就很難從專業底層的角度思考問題的本質。

如果你不學習字節碼,你就難從字節碼層面去分析和理解問題。

比如 Java 語言的很多語法糖,通過反匯編可以快速輕松掌握。

但是很多人喜歡速成,喜歡看別人介紹的內容而不是自己能過自主學習和研究,其實這也恰恰是很多學不好的根本原因之一。

不是每個人都一定要學反匯編,但是如果你想自主學習,想深入學習,建議可以主動研究。

 

四、總結

本文主要介紹了 IDEA 字節碼查看插件:jclasslib bytecode viewer。講到了該插件的安裝和使用,非常簡單。

如果對字節碼感興趣,想深入學習,平時開發中搭配這個插件來學習效果極佳。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM