在我們工作、學習、以及研究 JVM 過程當中,不可避免的要查看 Java 字節碼,通過查看字節碼可以了解一個類的編譯結果,也能通過編譯器層面來分析一個類的性能。
字節碼文件是不能直接打開的,下面棧長教大家幾種簡單的方法如何查看 Java 字節碼。
1、使用 javap 命令查看字節碼
命令格式如下:
javap -c xxx.class
JDK 提供的了,不解釋,來,演示操作一把:
$ javap -c Test.class
Compiled from "Test.java"
public class com.test.Test {
public com.test.Test();
Code:
0: aload_0
1: invokespecial #8 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: return
}
如上所示,可以看到 Test 類的的字節碼。
2、Intellij IDEA 中查看字節碼
Intellij IDEA 直接集成了一個工具菜單,可以直接查看字節碼,打開 ByteCode
插件窗口方法如下:
View -> Show bytecode
如圖所示,可以看到 String 類的的字節碼。
是不是很方便?
如果看不到這個菜單,那可能你當前的類沒有編譯,需要你編譯一下。
不會用 Intellij IDEA 的可以關注公眾號:Java技術棧,在后台回復:IDEA,可以獲取棧長整理的歷史教程,都是無廢話干貨。
想當初從 Eclipse 轉 IDEA 數次都失敗,現在早習慣了,說實話寫代碼是真智能,基友搭配,效率翻倍。
3、Eclipse 中查看字節碼
在 Eclipse 中查看字節碼稍顯麻煩,需要安裝插件,並打開插件窗口,安裝和使用方式如下:
Name: bytecode
Location: http://andrei.gmxhome.de/eclipse
安裝完后需要重啟 Eclipse 才能生效。
Eclipse 打開 ByteCode
插件窗口:
Window-> Show View -> Other -> Java -> Bytecode
如圖所示,可以看到 String 類的的字節碼。
當然,市面上還有很多其他的小工具可以查看字節碼,這里就不再一一介紹了,有興趣的可以去了解下,棧長介紹的這三種方式應該夠用了吧。
看完有沒有漲姿勢呢?
老鐵,可以拿出去裝逼了,在看、轉發一波!
推薦去我的博客閱讀更多:
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
覺得不錯,別忘了點贊+轉發哦!