打開eclipse編譯后的.class文件


眾所周知,用文本編輯器打開.class文件會亂碼。我們可以使用命令行打開.class文件
項目結構:

代碼:

public class Synchronized {
     public static void main(String[] args) {
            // 對Synchronized Class對象進行加鎖
            synchronized (Synchronized.class) {

            }
            // 靜態同步方法,對Synchronized Class對象進行加鎖
            m();
        }

        public static synchronized void m() {
        }
}

cmd到~\ThreadTest\bin\testnew,即cmd到.class文件的同級目錄下(.class文件在項目路徑下的bin文件夾下),執行:javap -v Synchronized.class

 可以看到Synchronized.class文件內容如下:

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
         0: ldc           #1                  // class testnew/Synchronized
         2: dup
         3: monitorenter
         4: monitorexit
         5: invokestatic  #16                 // Method m:()V
         8: return
      LineNumberTable:
        line 6: 0
        line 10: 5
        line 11: 8
      LocalVariableTable:
        Start  Length  Slot  Name   Signature
            0       9     0  args   [Ljava/lang/String;

  public static synchronized void m();
    descriptor: ()V
    flags: ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=0, locals=0, args_size=0
         0: return
      LineNumberTable:
        line 14: 0
      LocalVariableTable:
        Start  Length  Slot  Name   Signature

 


免責聲明!

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



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