首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java 核心基礎:JDK、JRE、JVM、Classpath 與 Path 關係圖解

     編輯:Java 綜合教學

Java 核心基礎:JDK、JRE、JVM、Classpath 與 Path

一、JDK(Java Development Kit)

Java 開發工具包,包含:

  • 編譯器 javac.exe:.java → .class (bytecode)
  • 啟動器 java.exe:啟動 JVM、載入類、執行 main()
  • 工具:javadoc、jar、jdb、appletviewer 等
  • 包含完整 JRE

用途:開發、編譯、除錯、打包 Java 程式。

二、JRE(Java Runtime Environment)

Java 執行環境,包含:

  • JVM(Java Virtual Machine)
  • 核心類別庫:java.lang、java.util、java.io、java.awt、javax.swing 等
  • 執行時期函式庫

用途:僅執行已編譯的 Java 程式(.class / .jar)。

三、JVM(Java Virtual Machine)

  • 解釋執行 bytecode,轉換為機器碼
  • 提供平台無關性:Write Once, Run Anywhere
  • 管理記憶體(堆、棧、方法區)、垃圾回收、類別載入
  • 平台相依:每種 OS/架構有專屬實作

四、關係圖解

JDK = JRE + 開發工具 (javac, javadoc, jdb...)
JRE = JVM + 核心類別庫 + 執行時期函式庫
JVM = 執行引擎 + 記憶體管理 + 類別載入器

五、Classpath vs Path

環境變數用途查找對象
PATH作業系統可執行檔(.exe, .bat, .sh)如 java, javac
CLASSPATHJVM編譯後的類別檔(.class)、Jar 包
  • PATH:讓 OS 在任意目錄下能直接輸入 java、javac 指令
  • CLASSPATH:讓 JVM 知道去哪裡找使用者定義的類別。JDK 1.5+ 若未設定,預設為當前目錄 .
  • 建議:不設定系統級 CLASSPATH,改用 java -cp、javac -cp 或 IDE/建構工具管理

六、常見面試題

  1. 只安裝 JRE 能否編譯 Java 程式?不能,缺 javac。
  2. JVM 是否平台無關?JVM 本身平台相依,但提供平台無關的執行環境。
  3. 為什麼 Java 跨平台?Bytecode 統一,JVM 屏蔽底層差異。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved