Java發展史
Java歷史的幾個重要節點:
- 1990,Sun公司啟動了一個名為“綠色計劃”的項目,由James Gosling等領導,目標是開發一種可以在機頂盒等消費性電子產品上運行的程序架構。這個計劃產生了Java的前身:Oak,隨著1995年互聯網的興起,Oak找到了適合自己的發展方向并最終蛻變成Java。
- 1995年5月23日,Oak正式改名為Java,Java也第一次提出來**“一次編譯,到處運行”(Write Once, Run Anywhere)**的口號。
- 1996年1月23日,JDK 1.0發布,Java語言有了第一個正式版本的運行環境。
- 1998年12月4日,Sun公司將Java技術體系分為三個方向:面向桌面應用開發的J2SE(Java 2 Platform, Standard Edition)、面向企業級開發的J2EE(Java 2 Platform, Enterprise Edition)、面向機頂盒等移動終端開發的J2ME(Java 2 Platform, Micro Edition)。
- 2004年9月30日,Sun公司放棄了“JDK 1.x”的命名方式,將版本號修改為“JDK x”,并且發布了JDK 5。
- 2006年11月13日,Sun公司在Java One大會上宣布要將Java開源。在隨后的一年多里,Sun公司陸續將JDK各個部分的源碼在GPL v2協議下公開,并建立了OpenJDK組織獨立管理這些源碼。
- 2006年12月11日,JDK 6發布,從這個版本開始,J2SE、J2EE、J2EE的命名方式被Java EE、 Java SE、 Java ME代替。
- 2009年4月20日,Oracle正式收購Sun公司,Java商標也隨之歸Oracle所有(Java語言本身由JCP組織進行管理,并不屬于某家公司所有)。
- 2017年,JDK 9發布。并且,Oracle宣布以后將會在每年的3月和9月各發布一個JDK的大版本,另外,每六個大版本中才會被劃分出一個長期支持(Long Term Support)版本。只有LTS版的JDK才可以獲得長期的支持和更新,普通版本的JDK只有六個月的生命周期。目前,有4個LTS版本:JDK 8、 JDK 11、 JDK 17、 JDK21。
- 2018年3月,Oracle宣布“按計劃報廢”Java EE(包含JDBC、Servlet等基礎組件),將所有權贈送給Eclipse基金會,且Java EE不準再使用Java的商標,取而代之的是Jakarta EE。
- 2018年9月25日,JDK 11發布,同時Oracle宣布以后將會同時發行兩個JDK:一個是在GPL v2+CE協議下由Oracle發行的OpenJDK,一個是在OTN協議下發行的OracleJDK。這兩個JDK共享絕大部分代碼,在功能上幾乎一樣。OpenJDK可以免費在開發、測試以及生產環境下使用,但只有半年時間的更新支持;OracleJDK僅允許少數的免費使用場景,若在生產環境中商用就必須收費,且有長期的更新支持。一些公司會在OpenJDK的基礎上開發自己的JDK,如阿里巴巴的Dragonwell,OpenJDK的管理以及維護目前由RetHat負責。
注:
-
JavaSE、JaveEE、JavaME三者之間的關系
- JavaSE是基礎,面向桌面級應用(如Windows應用),提供了核心庫和語言特性
- JavaEE擴展了JavaSE,面向服務端的Web應用,針對企業級應用開發提供了更多的功能和組件,如javax.servlet.*等
- JavaME專注于嵌入式設備和移動設備的應用開發,提供了輕量級的運行時環境和API,如javax.microedition.io.*等
(Android APP開發也使用了Java,但并不是Java ME開發)
- 4個LTS版本更新支持結束時間分別為
LTS版本 | 支持結束時間 |
---|---|
JDK 8 | 2030年12月 |
JDK 11 | 2032年1月 |
JDK 17 | 2024年9月 |
JDK 21 | 2026年9月 |
-
OpenJDK
OpenJDK以及OracleJDK之間具體的歷史關系,可以參考博客。