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

Java 核心架構解析:JDK、JRE、JVM 三者關係與跨平台原理

     編輯:Java 綜合教學

什麼是 Java?

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 等)

一、JDK:開發者的核心工具箱

Java Development Kit 是 Java 開發的核心,包含:

  • JRE:運行環境(含 JVM + 核心類庫)
  • 開發工具:javac(編譯器)、java(運行器)、jdb(調試器)、javap(反編譯)、jconsole(監控)等
  • 基礎類庫:Java API(rt.jar 等),提供集合、IO、網絡、GUI 等基礎功能

二、JRE:用戶運行 Java 程序的環境

Java Runtime Environment 面向最終用戶,不包含開發工具:

  • JVM:虛擬機核心
  • 運行時類庫:rt.jar 等核心類庫
  • 啟動器:java、javaw 等

⚠️ 沒有 JRE 無法運行 Java 程序;沒有 Java 程序,JRE 無用武之地。

三、JVM:跨平台的基石

Java Virtual Machine 是實現「一次編譯,到處運行」的關鍵:

工作流程

  1. Java 源碼 .java → javac 編譯 → 字節碼 .class
  2. .class 文件不直接針對 OS,而是針對 JVM 指令集
  3. JVM 將字節碼解釋/編譯為特定 OS 的機器碼
  4. 不同平台安裝對應的 JVM,同一 .class 即可運行

核心作用

  • 屏蔽 OS 差異:統一指令集、內存模型、線程模型
  • 內存管理:堆、棧、方法區、垃圾回收
  • 安全性:字節碼驗證、類加載器、安全管理器

關鍵點

單獨的 JVM 無法工作,必須配合 JRE 中的 lib 類庫(如 java.lang、java.util)才能解釋執行字節碼。

四、版本演進與工具鏈

  • JDK 版本:JDK 1.0 ~ 8 → Java 9, 10, 11(LTS), 17(LTS), 21(LTS)...
  • 常用 IDE:IntelliJ IDEA、Eclipse、NetBeans、VS Code
  • 構建工具:Maven、Gradle
  • 第三方 JAR:編譯後的類打包,可用解壓工具查看結構

五、Java 能做什麼?

  • 企業級應用(Spring 生態)
  • Android 開發(早期主流,現 Kotlin 為主)
  • 大數據(Hadoop、Spark、Flink)
  • 微服務雲原生
  • 嵌入式/物聯網
  • 桌面應用

總結

組件面向對象核心內容關鍵作用
JDK開發者JRE + 編譯器 + 工具 + 源碼開發、編譯、調試、打包
JRE最終用戶JVM + 核心類庫 + 啟動器運行 Java 程序
JVM底層執行解釋器、JIT編譯器、GC、內存模型跨平台執行字節碼

理解三者關係,是掌握 Java 體系架構、排查運行時問題、優化性能的基礎。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved