天天看點

JVM 位元組碼

1. 通過javac Node.java 可以将Java檔案編譯成Node.class的位元組碼檔案。

2. 通過javap -c Node.class 可以檢視内部位元組碼,這些位元組碼是用來給JVM按照指令一條條去執行的。

    通過javap -c -verbose Node.class 列印常量池。

javac

用法: javac <options> <source files>

其中, 可能的選項包括:

-g 生成所有調試資訊

-g:none 不生成任何調試資訊

-g:{lines,vars,source} 隻生成某些調試資訊

-nowarn 不生成任何警告

-verbose 輸出有關編譯器正在執行的操作的消息

-deprecation 輸出使用已過時的 API 的源位置

-classpath <路徑> 指定查找使用者類檔案和注釋處理程式的位置

-cp <路徑> 指定查找使用者類檔案和注釋處理程式的位置

-sourcepath <路徑> 指定查找輸入源檔案的位置

-bootclasspath <路徑> 覆寫引導類檔案的位置

-extdirs <目錄> 覆寫所安裝擴充的位置

-endorseddirs <目錄> 覆寫簽名的标準路徑的位置

-proc:{none,only} 控制是否執行注釋處理和/或編譯。

-processor <class1>[,<class2>,<class3>...] 要運作的注釋處理程式的名稱; 繞過預設的搜尋程序

-processorpath <路徑> 指定查找注釋處理程式的位置

-parameters 生成中繼資料以用于方法參數的反射

-d <目錄> 指定放置生成的類檔案的位置

-s <目錄> 指定放置生成的源檔案的位置

-h <目錄> 指定放置生成的本機标頭檔案的位置

-implicit:{none,class} 指定是否為隐式引用檔案生成類檔案

-encoding <編碼> 指定源檔案使用的字元編碼

-source <發行版> 提供與指定發行版的源相容性

-target <發行版> 生成特定 VM 版本的類檔案

-profile <配置檔案> 請確定使用的 API 在指定的配置檔案中可用

-version 版本資訊

-help 輸出标準選項的提要

-A關鍵字[=值] 傳遞給注釋處理程式的選項

-X 輸出非标準選項的提要

-J<标記> 直接将 <标記> 傳遞給運作時系統

-Werror 出現警告時終止編譯

@<檔案名> 從檔案讀取選項和檔案名