核心概念速查表
| 術語 | 全稱 | 核心含義 | 關鍵點 |
| 字節碼 | Bytecode | .class 文件,平台無關的中間代碼 | 需 JVM 解釋/編譯執行,不可直接由 OS 運行 |
| JVM | Java Virtual Machine | 虛擬機,屏蔽平台差異的執行環境 | 解釋器、類加載器、即時編譯器、垃圾收集器、運行時數據區 |
| JRE | Java Runtime Environment | 運行環境 = JVM + 核心類庫 | 僅運行程序只需 JRE |
| JDK | Java Development Kit | 開發工具包 = JRE + 編譯器/調試器/文檔 | 開發必裝 JDK |
| 類加載 | Class Loading | 將 .class 讀入內存生成 Class 對象 | 加載→驗證→準備→解析→初始化→使用→卸載 |
JVM 內部結構(六大模塊)
- 類加載器:Bootstrap、Extension、Application、自定義(雙親委派模型)
- 運行時數據區:
- 程序計數器(線程私有)
- 虛擬機棧(線程私有,棧幀:局部變量表、操作數棧、動態鏈接、返回地址)
- 本地方法棧(Native 方法)
- 堆(線程共享,對象實例主戰場,GC 主區域)
- 方法區(線程共享,類元數據、常量、靜態變量,JDK 8+ 為 Metaspace)
- 執行引擎:解釋器 + JIT 編譯器(熱點代碼編譯為機器碼)
- 垃圾收集器:Serial、Parallel、CMS、G1、ZGC、Shenandoah(分代/分區/並發)
- 本地庫接口:JNI 調用 C/C++ 庫
- 本地庫:操作系統級庫
Java 程序執行三階段
- 代碼裝入:類加載器讀取 .class 文件
- 代碼檢驗:字節碼驗證器校驗格式、語義、安全性
- 代碼執行:執行引擎解釋或編譯執行
JDK 版本體系
| 版本 | 定位 | 典型應用 |
| Java SE | 標準版 | 桌面、服務端基礎、核心 API |
| Java EE / Jakarta EE | 企業版 | 分布式 Web、EJB、JPA、JMS、微服務 |
| Java ME | 微型版 | 嵌入式、智能卡、物聯網設備 |
注:JDK 自身向下兼容,高版本 JDK 可運行低版本字節碼。
操作系統對應版本
- Windows x64/x86
- Linux x64/ARM
- macOS x64/ARM (Apple Silicon)
- Solaris SPARC/x64
學習路線建議
- 掌握 JDK 安裝、環境變量(JAVA_HOME、PATH)、IDE 配置
- 理解編譯 (
javac) 與運行 (java) 分離機制
- 熟悉包、導包、類路徑 (Classpath/Module Path)
- 深入 JVM 內存模型、GC 原理、類加載機制
- 學習 JVisualVM、Arthas、JConsole 等診斷工具
- 上一篇文章: JDBC 快速入門:原生 API 核心流程、連接池演進與最佳實踐
- 下一篇文章: C# vs Java 深拷貝實現對比:反射、序列化、第三方庫與最佳實踐
Copyright ©
程式碼之家 All Rights Reserved