許多 Java 初學者在 Eclipse 中寫代碼時,只知道「存檔就能跑」,卻不清楚背後發生了什麼。本文透過圖解說明 Eclipse 如何自動調用 javac 編譯與 java 執行命令。
當你按下 Ctrl+S 存檔 .java 原始碼時,Eclipse 立即在背景執行 javac 編譯:
.java 原始檔.class 位元組碼檔案bin 或 target/classes)
當你在編輯器中右鍵選擇 Run As → Java Application(或按 F11)時:
.class 是否存在且是最新java 全限定類名 啟動 JVM 執行 main 方法
| 指令 | 用途 | 觸發時機 | 輸入 | 輸出 |
|---|---|---|---|---|
javac | 編譯器 | 存檔、專案建置、執行前檢查 | .java | .class |
java | 執行器 | Run As → Java Application | .class | 程式輸出 |
.java。事實上 JVM 只認 .class 位元組碼。bin 目錄下的 .class,下次執行會自動重新編譯。# 編譯
javac -d bin src/com/example/Hello.java
# 執行
java -cp bin com.example.Hello
理解這層機制,有助於排查「明明存檔了卻跑舊代碼」、「ClassNotFoundException」等經典問題。