引言:持續九年的「再一次革命」
2004-2005 年,Java 歷經九年發展卻未趨平緩,反而迎來語言、執行環境、框架三大層面的劇烈變革。本文透視變革背後的推手——Java Community Process (JCP) 与開發者社群。
三大核心層面的深度變革
1. 語言層面:J2SE 5.0 的里程碑
- 泛型:編譯期型別安全,消除強制轉型
- Annotation(元資料/註解):程式碼內嵌宣告式資訊,催生 Spring、Hibernate 等框架的配置簡化
- 枚舉、自動拆裝箱、增強 for 迴圈、靜態匯入、可變參數:大幅提升開發效率
- Sun 官方評價:「自 Java 誕生以來最大規模語言規格變更」
2. 執行環境:JVM 邁向「作業系統級」管理能力
- JMX 標準化整合:原 J2EE 專屬管理框架下沉至 J2SE
- JVM 監控管理規範 (JSR 174):即時監控記憶體、執行緒、類載入等運行時狀態
- 並行處理工具包 (JSR 166):採納 Doug Lea `java.util.concurrent` 高效併發組件,奠基現代 Java 併發編程
3. 框架層面:開源社群主導標準演進
| 層次 | 舊標準 | 新標準 | 開源催化者 |
| Web 層 | Servlet/JSP | JSF (JavaServer Faces) | Apache Struts (Craig McClanahan 同時為 JSF Spec Lead) |
| EJB 層 | EJB 2.x (複雜、重量級) | EJB 3.0 (POJO + DI + JPA) | PicoContainer、Spring、Hibernate |
EJB 3.0 吸收 Spring 核心思想(DI 容器、POJO 持久化),將「EJB 過於複雜」的批評聲音轉化為標準規格,展現開源社群對官方標準的反哺力量。
4. 新成員:腳本語言 Groovy (JSR 241)
- 無縫互操作 Java 類庫,動態語言特性極簡寫法
- 從開源專案晉升為標準規格,印證「Java 平台 ≠ Java 語言」的多語言生態願景
變革引擎:JCP 2.0 與開發者社群
- 1999 年:J2EE 規格發布,奠定企業級基礎
- 2000 年:JCP 2.0 確立會員制、委員會治理,打破單一廠商壟斷
- 5 年磨合:JCP 從爭議中成長為「變革推動者」,吸納批評者(如 Spring 創始人 Rod Johnson)參與標準制定
- 下一代技術:經 JCP 孵化的技術約 2-3 年後波及主流企業用戶
結語
Java 的「再一次革命」本質上是開發者社群通過開放治理重塑平台。不再依賴單一廠商,而是由無數需要 Java 的開發者共同推動——這正是 Java 持續繁榮的根本動力。