Java 不只是語言,更是一個完整的生態平台
Java 擁有龐大的類庫、跨平台的執行環境(JVM)、自動垃圾回收、安全沙箱等核心服務。理解 Java 技術體系,關鍵在於掌握其三大版本定位與核心 API 體系。
Java 三大版本架構
| 版本 |
全稱 |
定位與應用場景 |
| Java SE |
Standard Edition |
核心基礎,包含 JVM、核心類庫(集合、IO、網路、並發等),是 Java ME/EE 的基石。 |
| Java EE |
Enterprise Edition |
企業級開發主流,提供 Servlet、JPA、EJB、CDI、JMS 等完整解決方案,現更名為 Jakarta EE。 |
| Java ME |
Micro Edition |
嵌入式/移動設備,針對受限資源環境精簡,現漸被 Android 等取代。 |
Java API 體系分層
- 核心 API:`java.lang`、`java.util`、`java.io` 等,由 Sun/Oracle 定義,所有 JVM 必須實現。
- 擴展 API:`javax.*` 套件,如 `javax.servlet`、`javax.persistence`,標準化但實現由廠商提供。
- 特定 API:廠商專有擴展,如 `com.sun.*`、`oracle.jdbc.*`,不可移植,慎用。
Java 十一大核心特性
- 簡單性:語法接近 C++,移除指針、多重繼承、操作符重載等複雜特性。
- 面向對象:一切皆對象,封裝、繼承、多態完整支持。
- 網路技能:原生支援 TCP/IP、HTTP、Socket、URL 處理,天生為網路而生。
- 健壯性:強類型、異常處理、自動記憶體管理、編譯期與執行期雙重檢查。
- 安全性:類載入器、字節碼驗證器、安全管理器、沙箱機制保護系統資源。
- 體系結構中立:編譯為平台無關的字節碼,配合 JVM 實現「一次編寫,到處運行」。
- 可移植性:基本類型大小固定(如 int 固定 4 字節),消除平台差異。
- 解釋性:字節碼由 JVM 解釋執行,支援動態載入與熱部署。
- 高性能:JIT 即時編譯、熱點優化、逃逸分析、壓縮指針等技術大幅提升速度。
- 多線程:語言級支援線程建立、同步、併發包(`java.util.concurrent`)。
- 動態性:運行時類載入、反射、動態代理、字節碼增強(ASM、ByteBuddy)。
掌握這些基石,才能在海量 Java 技術棧中建立清晰的知識地圖,避免迷失在細節叢林。