Java 由 James Gosling 於 1990 年代初在 Sun Microsystems 主導開發,歷經 Oak 智能家電失意、互聯網爆發契機、瀏覽器 Applet 盛衰、企業級標準確立、開源轉型與雲原生適配,成為全球最普及的程式語言之一。本文梳理關鍵里程碑、版本演進與生態變遷。
一、 起源:Stealth → Green → Oak (1990-1994)
- 1990.12:Sun 內部啟動 Stealth 計劃,後改名 Green 計劃。Patrick Naughton 因 C++/API 痛苦尋求替代。
- 核心團隊:James Gosling、Mike Sheridan、Patrick Naughton、Bill Joy (首席科學家) 在加州門洛帕克沙丘路小工作室閉門造車。
- 目標:下一代智能家電 (微波爐、PDA) 程式設計語言,需可移植、安全、多執行緒、垃圾回收。
- 語言誕生:Gosling 嘗試改良 C++ 失敗,重新設計語言命名 Oak (辦公室外橡樹)。
- 1992 夏:演示 Green OS、Oak 語言、類庫、硬體平台。PDA 原型 Star7 含圖形界面與智能代理 Duke (Java 吉祥物起源)。
- 1992.11:Green 計劃轉為子公司 FirstPerson Inc.,遷至帕洛阿爾托。針對有線電視機頂盒提案,敗給 SGI;與 3DO 合作亦失敗,團隊併回 Sun。
二、 轉向互聯網:WebRunner → HotJava → Java (1994-1995)
- 1994.6-7:團隊三天腦力激盪,決定轉向萬維網。Mosaic 瀏覽器啟發同樣互動遠景。
- 原型:Patrick Naughton 編寫微型瀏覽器 WebRunner,後改名 HotJava。
- 更名 Java:Oak 商標被顯卡廠商註冊。命名靈感來自咖啡 (咖啡豆 Logo),十六進制魔數
CAFE BABE 見證趣味。
- 1994.10:HotJava/Java 向 Sun 高層演示。
- 1995.3.23:SunWorld 大會公開發布 Java 1.0a。John Gage 宣告技術;Netscape 執行副總裁 Marc Andreessen 同台宣佈 Navigator 內建支援 Java —— **關鍵聯盟**。
- 1996.1:Sun 成立 Java Business Group 專職推進。
三、 瀏覽器時代興衰與伺服器端崛起 (1996-2005)
- Applet 黃金期:瀏覽器內嵌 JVM,豐富網頁互動。
- 2000s 中期:Flash 以輕量、動畫優勢完全擠佔簡單互動市場;Java Applet 淪為複雜企業應用 (如 Yahoo Games) 專用。
- 微軟對抗:IE/Windows 停止捆綁 JVM,Sun 勝訴獲賠 2000 萬美元並強制執行兼容許可,但微軟選擇移除 Java 支援。
- 伺服器端爆發:JSP/Servlet/EJB 成為企業級標準,WebSphere/WebLogic/JBoss 佔據中介軟體霸主地位。
- 手持設備:J2ME (CLDC/MIDP) 攻佔功能機時代,Nokia 承諾 2003 年出貨 1 億支支援 Java 手機。
四、 桌面端突圍與開源轉型 (2004-至今)
- 桌面應用困境:JVM 啟動開銷大、用戶未預裝、頻寬限制下載體驗差。
- 轉機:硬體算力/頻寬指數級增長、JVM 品質躍升 (JIT/HotSpot)、
-server 模式深度優化。
- 代表性開源桌面應用:
- IDE:NetBeans、Eclipse、IntelliJ IDEA Community
- 編輯器:jEdit
- BitTorrent:Azureus (Vuze)
- OS:JNode
- Apache 基金會:Ant、Derby、Hadoop、Tomcat、POI、Kafka、Flink...
- 應用伺服器:JBoss (WildFly)、GlassFish (Payara)
- 商業閉源:永中 Office (EIOffice)、Chrome 3D 遊戲、IBM WebSphere/ColdFusion/WebLogic。
五、 三大平台版本體系確立 (2005)
2005.6 JavaOne 大會,Sun 宣佈重命名去除數字「2」:
| 舊稱 | 新稱 | 定位 |
| J2EE | Java EE (Enterprise Edition) | 企業級分散式應用 |
| J2SE | Java SE (Standard Edition) | 桌面/伺服器通用基礎 |
| J2ME | Java ME (Micro Edition) | 嵌入式/行動裝置 |
六、 開源里程碑:OpenJDK (2006)
- 2006 JavaOne:Sun 宣佈 OpenJDK 計劃,JVM、編譯器、類庫以 GPLv2 + Classpath Exception 開源。
- 奠定現代 Java 生態開放治理基石,衍生出 Oracle JDK、Adoptium (Temurin)、Amazon Corretto、Azul Zulu、GraalVM 等多元發佈版。
七、 版本歷史時間表 (關鍵版本)


文字版關鍵節點
- 1995.5.23:Java 語言誕生
- 1996.1:JDK 1.0 發布
- 1996.4:10 大 OS 廠商承諾嵌入 Java
- 1996.9:8.3 萬網頁應用 Java
- 1997.2.18:JDK 1.1 發布
- 1997.4.2:首屆 JavaOne,參會超萬人創紀錄
- 1997.9:Java Developer Connection 會員超 10 萬
- 1998.2:JDK 1.1 下載超 200 萬次
- 1998.12.8:J2EE 發布
- 1999.6:J2SE/J2EE/J2ME 三版本同時發布
- 2000.5.8:JDK 1.3 發布
- 2000.5.29:JDK 1.4 發布 (正則、NIO、斷言、Logging)
- 2001.6.5:Nokia 承諾 2003 年出貨 1 億 Java 手機
- 2001.9.24:J2EE 1.3 發布
- 2002.2.26:J2SE 1.4 發布,**計算能力大幅提升**
- 2004.9.30:J2SE 1.5 發布 → 更名 Java SE 5.0 (泛型、註解、枚舉、自動裝箱、Varargs、Foreach) —— **語言演進里程碑**
- 2005.6:JavaOne 發布 Java SE 6,三大平台更名去「2」
- 2006.12:JRE 6.0 發布
八、 現代演進 (Java 8 以降)
- Java 8 (2014):Lambda、Stream、Optional、新日期時間、默認方法、Nashorn JS 引擎 —— **函數式編程入主**。
- Java 9 (2017):模組系統 (Jigsaw)、JShell、HTTP/2 Client、多版本 JAR。
- Java 11 (2018 LTS):HTTP Client 標準化、var、String 新方法、飛行記錄器開源、移除 Java EE/JFX 模組。
- Java 17 (2021 LTS):Sealed Class、Pattern Matching、Record、強封裝 JDK 內部 API、macOS/AArch64 支援。
- Java 21 (2023 LTS):虛擬執行緒 (Virtual Threads)、結構化並發、模式匹配 switch、Record Patterns、Generational ZGC、未命名類/實例主方法預覽。
九、 結語
從智能家電失意到互聯網標準,從 Applet 瀏覽器戰爭到雲原生微服務基石,Java 的歷史是**適應性生存**的教科書。OpenJDK 開源治理與 LTS 版本節奏確立,讓 Java 在雲原生、Serverless、AI 基礎設施新時代持續佔據核心地位。下一個十年,Valhalla (Value Types)、Loom (虛擬執行緒)、GraalVM (原生映像) 將重塑 Java 效能與部署範式,續寫傳奇。