引言:Java 正處於轉型關鍵期
2004-2005 年,Java 技術棧三大支柱——語言、運行時、框架——同時發生劇烈變化。這不是緩慢演進,而是一場「再一次革命」。驅動力核心在於開源社區創新反哺標準規範。
四大變革維度
1. 語言規範大躍進:J2SE 5.0 (JSR 175/201)
- Generics (泛型): 類型安全容器,消除強轉,編譯期檢查。
- Annotations (元數據/注解): 代碼級元數據,支撐聲明式編程(EJB 3.0、Spring、JPA 核心基礎)。
- 被 Sun 稱為「自 Java 誕生以來最大語言變更」,深度影響後續所有 API 設計。
2. JVM 邁向「作業系統級」管理能力
- JMX (JSR 174) 標準化內建: 記憶體、線程、類加載實時監控,無需外部 Agent。
- 並發工具包 (JSR 166): 採納 Doug Lea
java.util.concurrent,提供高性能鎖、線程池、並發集合、Future、阻塞隊列等工業級組件。
- JVM 從單純執行引擎進化為可觀測、可管理的運行時平台。
3. 服務端框架架構重構:JSF 與 EJB 3.0
| 層次 | 舊標準 | 新標準 | 開源催化劑 |
| Web 層 | Struts / JSP + Servlet | JSF (JavaServer Faces) | Apache Struts(Craig McClanahan 同時是 JSF Spec Lead) |
| EJB 層 | EJB 2.x (複雜、重型) | EJB 3.0 (POJO + DI + JPA) | Spring、PicoContainer、Hibernate(DI、POJO 持久化、ORM 概念) |
EJB 3.0 直接吸收「EJB 反對派」的設計思想,實現輕量化、聲明式、測試友好。
4. 腳本語言納入標準:Groovy (JSR 241)
- 無縫互操作 Java 類庫,動態語言特性適合測試、DSL、快速原型。
- 從開源項目晉升為標準規範,標誌 Java 生態擁抱多語言 (Polyglot) 趨勢。
深層啟示
- 開源驅動標準: Struts → JSF,Spring/Hibernate → EJB 3.0,Groovy → JSR 241。標準化不再是大廠壟斷,而是社區創新的歸宿。
- 輕量化、聲明式、POJO 化: 成為 Java EE 乃至整個生態的主旋律。
- 工具鏈升級: IDE、構建工具、應用服務器全面適配新規範(JDK 5、JSF、EJB 3)。
「不久前還在說『Servlet、JSP、EJB 是核心 API』,現在基於 JSF 和 EJB 3.0 的應用已經『面目全非』。」