Java Runtime Environment (JRE) 是在任何平台上運行 Java 程序不可或缺的軟件環境。終端用戶可通過獨立安裝包或瀏覽器插件形式獲取。開發者則使用功能更全面的 JDK (Java Development Kit),它包含 JRE 以及編譯器、調試器、文檔等開發工具。
包含編譯、運行 Java 程序所需的最核心文件,是 JVM 啟動時首先加載的基礎。
| 模塊 | 功能描述 | 典型應用場景 |
|---|---|---|
| 數據結構庫 | List、Map、Set、Queue、Tree 等集合框架 | 數據存儲、算法實現、緩存構建 |
| XML 解析庫 | DOM、SAX、StAX、JAXB | 配置文件讀寫、Web Service 通信 |
| 安全應用庫 | 加密、簽名、認證、授權、密鑰管理 | HTTPS、數字簽名、單點登錄 |
| 國際化/本地化庫 | Locale、ResourceBundle、日期/貨幣格式化 | 多語言系統、全球化部署 |
| 庫 | 定位 | 特點 |
|---|---|---|
| AWT (Abstract Window Toolkit) | 底層原生 GUI | 調用操作系統原生組件,重量級,跨平台一致性差 |
| Swing | 純 Java 高級 GUI | 輕量級、可換膚、MVC 架構、豐富組件(JTable、JTree 等) |
| Java 2D/3D、媒體 API | 圖形/多媒體 | 繪圖、渲染、音視頻播放、截圖錄製 |
┌─────────────────────────────────────┐ │ JDK │ │ ┌───────────────────────────────┐ │ │ │ JRE │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ JVM │ │ │ │ │ │ (執行引擎 + 內存管理) │ │ │ │ │ └─────────────────────────┘ │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ 核心類庫 (rt.jar) │ │ │ │ │ └─────────────────────────┘ │ │ │ └───────────────────────────────┘ │ │ ┌───────────────────────────────┐ │ │ │ 開發工具: javac, jdb, javadoc│ │ │ └───────────────────────────────┘ │ └─────────────────────────────────────┘
rt.jar 拆分為 jmod 文件jlink 定製運行時鏡像jlink --strip-debug --compress=2 --no-header-files --no-man-pages 製作精簡運行時鏡像,鏡像體積可縮減 60%+