轉載請註明原文地址:http://www.javashuo.com/article/p-mjkogmjk-v.htmlhtml
一般用於第三方JAR包的逆向工程。java
通常咱們拿到的jar包都是通過編譯後的 .class文件,可是咱們在開發過程當中對jar包的調用有疑問,或者像深刻探索原理時,根本沒法查看源碼,這對咱們來講就比較沮喪了。性能優化
這個時候,咱們能夠經過一些反編譯工具,將 .class 文件逆向成 java源代碼,這樣就能夠看到它的真面目啦~工具
java反編譯咱們通常使用jad工具,或者網上提供的一些可用的第三方工具,不少的,找找就有了。性能
反彙編與反編譯是兩碼事,雖然原材料都是 .class文件。優化
上面提到的反編譯是向上的,即根據編譯後的結果,反向獲得編譯前的源碼。命令行
而反彙編則是根據編譯後的結果,倒推源碼編譯的過程,這裏就能夠看出代碼邏輯真實編譯、執行過程的每一步,對於性能優化、問題追溯等具備十分強大的幫助。htm
Java反彙編使用jdk自帶的工具——javap。blog
安裝了Java開發環境的電腦上,能夠經過命令行 輸入 :javap -c XXX.class 文件來查看該class文件的編譯過程。開發