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

Java 運行時環境(JRE)深度解析:核心組件與架構全景

     編輯:Java 相關知識

JRE:Java 程序跨平台運行的基石

Java Runtime Environment (JRE) 是在任何平台上運行 Java 程序不可或缺的軟件環境。終端用戶可通過獨立安裝包或瀏覽器插件形式獲取。開發者則使用功能更全面的 JDK (Java Development Kit),它包含 JRE 以及編譯器、調試器、文檔等開發工具。

JRE 核心組件架構

1. Java 類庫—— 核心基礎設施

包含編譯、運行 Java 程序所需的最核心文件,是 JVM 啟動時首先加載的基礎。

2. 核心庫文件

模塊功能描述典型應用場景
數據結構庫 List、Map、Set、Queue、Tree 等集合框架 數據存儲、算法實現、緩存構建
XML 解析庫 DOM、SAX、StAX、JAXB 配置文件讀寫、Web Service 通信
安全應用庫 加密、簽名、認證、授權、密鑰管理 HTTPS、數字簽名、單點登錄
國際化/本地化庫 Locale、ResourceBundle、日期/貨幣格式化 多語言系統、全球化部署

3. 綜合庫文件—— 系統集成橋樑

  • JDBC (Java Database Connectivity):統一數據庫訪問 API,支援 MySQL、Oracle、PostgreSQL 等
  • JNDI (Java Naming and Directory Interface):命名服務統一接口,整合 LDAP、DNS、RMI Registry
  • RMI & CORBA:遠程方法調用與分布式對象架構,支援跨 JVM/進程通信

4. 用戶界面庫—— 豐富客戶端構建

庫定位特點
AWT (Abstract Window Toolkit) 底層原生 GUI 調用操作系統原生組件,重量級,跨平台一致性差
Swing 純 Java 高級 GUI 輕量級、可換膚、MVC 架構、豐富組件(JTable、JTree 等)
Java 2D/3D、媒體 API 圖形/多媒體 繪圖、渲染、音視頻播放、截圖錄製

5. Java 虛擬機 (JVM)—— 執行引擎核心

  • 類加載子系統:加載、鏈接、初始化類文件
  • 運行時數據區:堆、棧、方法區、程序計數器
  • 執行引擎:解釋器 + JIT 即時編譯器 + 垃圾收集器
  • 本地庫接口 (JNI):調用 C/C++ 本地代碼

6. 部署與授權組件

  • Java Plugin:瀏覽器嵌入 Applet(已淘汰,現代 Web 改用 WebAssembly)
  • Java Web Start (JWS):網絡一鍵啟動應用(Java 11 後移除,遷移至 jlink/jpackage)
  • 許可證與文檔:法律合規與 API 參考手冊

JRE vs JDK vs JVM 關係圖解

┌─────────────────────────────────────┐
│              JDK                    │
│  ┌───────────────────────────────┐  │
│  │           JRE                 │  │
│  │  ┌─────────────────────────┐  │  │
│  │  │        JVM              │  │  │
│  │  │  (執行引擎 + 內存管理)   │  │  │
│  │  └─────────────────────────┘  │  │
│  │  ┌─────────────────────────┐  │  │
│  │  │    核心類庫 (rt.jar)     │  │  │
│  │  └─────────────────────────┘  │  │
│  └───────────────────────────────┘  │
│  ┌───────────────────────────────┐  │
│  │   開發工具: javac, jdb, javadoc│  │
│  └───────────────────────────────┘  │
└─────────────────────────────────────┘

版本演進關鍵節點

  • Java 8:JRE 最後獨立發布版本,引入 Metaspace 替代永久代
  • Java 9:模組化系統,JRE 內部結構重組,rt.jar 拆分為 jmod 文件
  • Java 11+:Oracle JDK 商業化,OpenJDK 成為主流,不再單獨提供 JRE 下載,推薦使用 jlink 定製運行時鏡像

生產環境選型建議

  • 企業級應用:優先選擇 LTS 版本(Java 8, 11, 17, 21)的 OpenJDK 構建版(如 Eclipse Temurin, Azul Zulu)
  • 容器化部署:使用 jlink --strip-debug --compress=2 --no-header-files --no-man-pages 製作精簡運行時鏡像,鏡像體積可縮減 60%+
  • 性能敏感場景:評估 GraalVM Native Image 或 Azul Prime (Zing) 的無停頓 GC
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved