Java 是一門跨平台、面向對象的開發語言。對開發者而言,Java 基本等同於 JDK(Java Development Kit)。開發流程:IDE 編寫代碼 → javac 編譯為 .class 字節碼 → JVM 執行。
JDK (開發工具包) ├── JRE (運行環境) │ ├── JVM (虛擬機) ── bin/ (java, javaw 等啟動器) │ └── 核心類庫 ── lib/ (rt.jar 等) ├── 開發工具 ── bin/ (javac, jdb, jconsole 等) └── 基礎類庫 ── lib/ (tools.jar, dt.jar 等)
Java Development Kit 是 Java 開發的核心,包含:
Java Runtime Environment 面向最終用戶,不包含開發工具:
⚠️ 沒有 JRE 無法運行 Java 程序;沒有 Java 程序,JRE 無用武之地。
Java Virtual Machine 是實現「一次編譯,到處運行」的關鍵:
.java → javac 編譯 → 字節碼 .class.class 文件不直接針對 OS,而是針對 JVM 指令集.class 即可運行單獨的 JVM 無法工作,必須配合 JRE 中的 lib 類庫(如 java.lang、java.util)才能解釋執行字節碼。
| 組件 | 面向對象 | 核心內容 | 關鍵作用 |
|---|---|---|---|
| JDK | 開發者 | JRE + 編譯器 + 工具 + 源碼 | 開發、編譯、調試、打包 |
| JRE | 最終用戶 | JVM + 核心類庫 + 啟動器 | 運行 Java 程序 |
| JVM | 底層執行 | 解釋器、JIT編譯器、GC、內存模型 | 跨平台執行字節碼 |
理解三者關係,是掌握 Java 體系架構、排查運行時問題、優化性能的基礎。