天天看點

3種騷操作,教你檢視 Java 位元組碼!

3種騷操作,教你檢視 Java 位元組碼!

在我們工作、學習、以及研究 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
3種騷操作,教你檢視 Java 位元組碼!
3種騷操作,教你檢視 Java 位元組碼!

如圖所示,可以看到 String 類的的位元組碼。

是不是很友善?

如果看不到這個菜單,那可能你目前的類沒有編譯,需要你編譯一下。
不會用 Intellij IDEA 的可以關注公衆号:Java技術棧,在背景回複:IDEA,可以擷取棧長整理的曆史教程,都是無廢話幹貨。
想當初從 Eclipse 轉 IDEA 數次都失敗,現在早習慣了,說實話寫代碼是真智能,基友搭配,效率翻倍。
3、Eclipse 中檢視位元組碼
在 Eclipse 中檢視位元組碼稍顯麻煩,需要安裝插件,并打開插件視窗,安裝和使用方式如下:
3種騷操作,教你檢視 Java 位元組碼!
Name: bytecode
Location: http://andrei.gmxhome.de/eclipse
安裝完後需要重新開機 Eclipse 才能生效。
Eclipse 打開 ByteCode 插件視窗:
Window-> Show View -> Other -> Java -> Bytecode
當然,市面上還有很多其他的小工具可以檢視位元組碼,這裡就不再一一介紹了,有興趣的可以去了解下,棧長介紹的這三種方式應該夠用了吧。
看完有沒有漲姿勢呢?
老鐵,可以拿出去裝逼了,在看、轉發一波!

繼續閱讀