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

JRE vs JDK 核心區別:運行時環境與開發工具包的定位、組件與選型指南

     編輯:Java 程式設計入門

JRE 與 JDK 是 Java 生態兩大基石,混淆兩者會導致環境配置錯誤、部署體積膨脹。本文從組件構成、使用場景、版本演進三個維度徹底釐清。

核心定義對比

維度JRE (Java Runtime Environment)JDK (Java Development Kit)
全稱Java Runtime EnvironmentJava Development Kit
定位運行時環境:給終端用戶運行 Java 程序開發工具包:給開發者編寫、編譯、調試 Java 程序
核心組件JVM + 核心類庫 (rt.jar) + 啟動器JRE + javac + javadoc + jdb + jconsole + jvisualvm + 源碼 + Demo
包含關系獨立發布包含完整 JRE
典型體積~50-80 MB~150-300 MB

組件詳解

JRE 核心組件

  • JVM:HotSpot、OpenJ9 等,執行字節碼、內存管理、JIT 編譯
  • 核心類庫:java.lang, java.util, java.io, java.net 等基礎 API
  • 啟動器:java.exe / javaw.exe,載入類、啟動主線程

JDK 額外開發工具

工具用途
javacJava 源碼編譯器 (.java → .class)
javadoc生成 API 文檔
jdb命令行調試器
jconsole / jvisualvm圖形化監控、性能分析、堆轉儲
jshellREPL 交互式編程 (JDK 9+)
jlink / jpackage模組化運行時鏡像打包、原生安裝包生成 (JDK 9+)

選型決策樹

需要運行 Java 程序?
  ├─ 是 → 只安裝 JRE(生產環境、用戶端)
  └─ 否 → 需要開發/編譯/調試?
          ├─ 是 → 安裝 JDK
          └─ 否 → 不需要 Java 環境

版本演進關鍵節點

  • JDK 8:最後商業免費長期支援版,企業級廣泛使用
  • JDK 9:模組系統 (JPMS)、JRE 結構重組、不再獨立發布完整 JRE
  • JDK 11:LTS 版,Oracle JDK 商業化,OpenJDK 成為主流
  • JDK 17/21:新一代 LTS,推薦生產環境基線

注意:JDK 9+ 模組化後,jlink 可定製極小運行時鏡像(~30MB),替代傳統 JRE 部署。

常見誤區避雷

  1. 生產環境裝 JDK:增加攻擊面、佔用磁碟、違反最小權限原則
  2. 以為 JRE 含 javac:JRE 無編譯器,無法編譯 .java 文件
  3. 混用版本:編譯版本 (javac -target) 必須 ≤ 運行版本
  4. 忽略廠商差異:Oracle JDK vs OpenJDK vs Amazon Corretto vs Azul Zulu,商業支援、效能優化各異

環境變量配置標準

# JDK 環境
export JAVA_HOME=/path/to/jdk-17
export PATH=$JAVA_HOME/bin:$PATH

# 驗證
java -version      # 顯示 JRE/JDK 版本
javac -version     # 僅 JDK 有此命令
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved