2014-07-08 22 views
3

我準備Java核心,我得到了以下疑問的Java反編譯器和Java反編譯

的javap是反彙編器或反編譯器?他們之間有什麼區別?哪些java CLI命令被使用?

+0

可能重複[是Java是編譯還是解釋編程語言?](http://stackoverflow.com/questions/1326071/is-java-a-編譯或解釋編程語言) –

+4

@sphanley不一樣的東西,你提到的問題是Java是解釋還是編譯,這裏的問題是關於實用程序javap – morgano

+0

附註:Oracle states [here]( http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javap.html):「** javap **命令反彙編一個或多個類文件。」我不確定他們是否遵循「技術」術語,但似乎至少與摩根諾的答案相符。 – awksp

回答

6

Javap只是一個「非正式」的拆裝程序,它的輸出爲您提供了有關字節碼的信息,但不適合它被「彙編程序」使用,它只是供人閱讀。

(從C語言世界)傳統的差:

  • 編譯器:編譯一個相對高的電平的源代碼的彙編語言
  • 彙編程序:編譯彙編代碼轉換爲機器代碼

得出你的結論「解編譯器」和「拆卸器」

有時一個軟件可以執行兩個步驟(反彙編和反編譯)也稱爲反編譯器,但它仍然取決於上下文