Java 作為長盛不衰的編程語言,其技術體系龐大而精密。本文梳理 Java 的歷史演變、核心特性、運行機制、開發平台構成及主流應用領域,為開發者構建完整知識地圖。
一、歷史演變脈絡
- Oak (1991):James Gosling 為嵌入式設備設計,移植性差
- Java 1.0 (1996):Sun 正式發布,"Write Once, Run Anywhere" 確立
- Java 2 (1998):引入三大版本劃分——J2SE、J2ME、J2EE
- Java 5/6/7/8:泛型、註解、Lambda、Stream、模塊化等里程碑特性
- Oracle 收購 Sun (2010):商業化運營,釋放 OpenJDK
- Java 11/17/21 (LTS):長期支持版本成為企業級標準
二、三大版本平台定位
| 平台 | 全稱 | 定位 | 核心組件 |
| Java SE | Standard Edition | 桌面/基礎開發,核心 API | JVM、核心類庫、開發工具 |
| Java ME | Micro Edition | 嵌入式/移動設備(已邊緣化) | 精簡 JVM、CLDC/MIDP 配置 |
| Java EE | Enterprise Edition | 企業級分布式應用(現 Jakarta EE) | Servlet、JPA、CDI、EJB 等規範 |
現狀:Java ME 市場份額極低,移動端由 iOS/Android 瓜分;Java EE 移交 Eclipse 基金會更名 Jakarta EE;Java SE 仍是核心基礎。
三、核心設計特性
- 面向對象:單繼承、接口、多態,去除 C++ 指針、多繼承、操作符重載等複雜特性
- 平台無關性:JVM 屏蔽底層 OS/硬件差異,字節碼實現跨平台
- 健壯性:強類型、異常處理、自動內存管理(GC)、無指針算術
- 分布式:內置網絡類庫,原生支持 TCP/IP、RMI、HTTP 等協議
- 多線程:語言級線程支持,JMM 定義內存可見性與有序性
四、程序運行全流程
.java 源文件
↓ javac 編譯器
.class 字節碼文件
↓ 類加載器
JVM (類加載 → 驗證 → 準備 → 解析 → 初始化)
↓ 解釋執行 / JIT 編譯
操作系統本機指令
關鍵點:字節碼是中間表示,JVM 負責運行時優化(熱點代碼 JIT 編譯為機器碼)。
五、JDK/JRE/JVM 關係圖譜
- JVM:虛擬機規範與實現,包含類加載器、執行引擎、運行時數據區(堆、棧、方法區等)、GC
- JRE = JVM + 核心類庫,運行環境,無開發工具
- JDK = JRE + 開發工具,包含 javac、javadoc、jdb、jconsole 等
六、主流技術應用領域
- 企業級後端:Spring 生態、微服務、雲原生、中間件開發
- 大數據生態:Hadoop、Spark、Flink、Kafka 核心組件均由 Java/Scala 編寫
- Android 開發:雖 Kotlin 成主流,Java 仍是基礎
- 桌面應用:JavaFX、Swing (維護模式)
- 嵌入式/物聯網:Java ME / Java Card 專用場景
- 上一篇文章: Java Integer 深度剖析:緩存機制、解析原理與自動裝箱陷阱
- 下一篇文章: 劍指 Offer 面試題 12:打印 1 到最大的 n 位數——大數處理與遞歸實現
Copyright ©
程式碼之家 All Rights Reserved