碼農飛升記-00-Java發展歷程

1.Java發布歷程

1995年5月23日,Sun 公司正式發布Java 和 HotJava 瀏覽器。

1996年1月23日,Sun 公司正式發布 JDK 1.0。

1997年2月19日,Sun 公司正式發布 JDK 1.1。

1998年12月8日,Sun 公司正式發布 J2SE 1.2。

2000年5月8日,Sun 公司正式發布 J2SE 1.3。

2002年2月26日,Sun 公司正式發布 J2SE 1.4。

2004年9月30日,Sun 公司正式發布 J2SE 1.5。

2006年12月11日,Sun 公司正式發布 Java SE 6。

2011年7月7日,Oracle 公司發布了 Java SE 7。

2014年3月18日,Oracle 公司發布了 Java SE 8 (特殊的 LTS)。

2017年9月21日,Oracle 公司發布 Java SE 9 (non-LTS)。

2018年3月20日,Oracle 公司發布 Java SE 10 (non-LTS)。

2018年9月25日,Oracle 公司發布 Java SE 11 (LTS)。

2019年3月19日,Oracle 公司發布 Java SE 12 (non-LTS)。

2019年9月17日,Oracle 公司發布 Java SE 13 (non-LTS)。

2020年3月17日,Oralce 公司發布 Java SE 14 (non-LTS)。

2020年9月15日,Oracle 公司發布 Java SE 15 (non-LTS)。

2021年3月16日,Oracle 公司發布 Java SE 16 (non-LTS)。

2.Java發展史

Oak 的出現( Java 的雛形)

20世紀90年代,硬體領域出現了單片式電腦系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、麵包烤箱、行動電話等)的智慧化程度。Sun Microsystems 公司為了搶佔市場先機,在1991年成立了一個稱為 Green 的項目小組,James Gosling 及其團隊一起組成的工作小組在 State of California 州 Menlo Park 市沙丘路的一個小工作室裡面研究開發新技術,專攻電腦在家電產品上的嵌入式應用。

由於 C++ 所具有的優勢,該項目組的研究人員首先考慮採用 C++ 來編寫程式。但對於硬體資源極其匱乏的單片式系統來說,C++ 程式過於複雜和龐大。另外由於消費電子產品所採用的嵌入式處理器晶片的種類繁雜,如何讓編寫的程式跨平台運行也是個難題。為了解決困難,他們首先著眼於語言的開發,假設了一種結構簡單、符合嵌入式應用需要的硬體平台體系結構並為其制定了相應的規範,其中就定義了這種硬體平台的二進位機器碼指令系統(即後來成為「位元組碼」的指令系統),以待語言開發成功後,能有半導體晶片生產商開發和生產這種硬體平台。對於新語言的設計,Sun 公司研發人員並沒有開發一種全新的語言,而是根據嵌入式軟體的要求,對 C++ 進行了改造,去除了留在 C++ 的一些不太實用及影響安全的成分,並結合嵌入式系統的實時性要求,開發了一種稱為 Oak 的面向對象語言。
由於在開發 Oak 語言時,尚且不存在運行位元組碼的硬體平台,所以為了在開發時可以對這種語言進行實驗研究,他們就在已有的硬體和軟體平台基礎上,按照自己所指定的規範,用軟體建設了一個運行平台,整個系統除了比 C++ 更加簡單之外,沒有什麼大的區別。1992年的夏天,當 Oak 語言開發成功後,研究者們向硬體生產商進行演示了 Green 作業系統、Oak 的程式設計語言、類庫和其硬體,以說服他們使用 Oak 語言生產硬體晶片,但是,硬體生產商並未對此產生極大的熱情。因為他們認為,在所有人對 Oak 語言還一無所知的情況下,就生產硬體產品的風險實在太大了,所以 Oak 語言也就因為缺乏硬體的支援而無法進入市場,從而被擱置了下來。

1994年6、7月間,在經歷了一場歷時三天的討論之後,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著 Mosaic 瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器 WebRunner。

1995年 Java 的誕生

1995年,互聯網的蓬勃發展給了 Oak 機會。業界為了使死板、單調的靜態網頁能夠「靈活」起來,急需一種軟體技術來開發一種程式,這種程式可以通過網路傳播並且能夠跨平台運行。於是,世界各大IT企業為此紛紛投入了大量的人力、物力和財力。這個時候,Sun 公司想起了那個被擱置起來很久的 Oak,並且重新審視了那個用軟體編寫的試驗平台,由於它是按照嵌入式系統硬體平台體系結構進行編寫的,所以非常小,特別適用於網路上的傳輸系統,而 Oak 也是一種精簡的語言,程式非常小,適合在網路上傳輸。
Sun 公司首先推出了可以嵌入網頁並且可以隨同網頁在網路上傳輸的 Applet(Applet是一種將小程式嵌入到網頁中進行執行的技術),並將 Oak 更名為 Java(在申請註冊商標時,發現 Oak 已經被人使用了,再想了一系列名字之後,最終,使用了提議者在喝一杯 Java 咖啡時無意提到的 Java 詞語)。

1995年5月23日,Sun 公司在 Sun world 會議上正式發布 Java 和 HotJava 瀏覽器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和 Microsoft 等各大公司都紛紛停止了自己的相關開發項目,競相購買了 Java 使用許可證,並為自己的產品開發了相應的 Java 平台。

1996年 Sun 公司發布第一個 JDK

1996年1月23日,Sun 公司發布了 Java 的第一個開發工具包(JDK 1.0),這是 Java 發展歷程中的重要里程碑,標誌著 Java 成為一種獨立的開發工具。9月,約8.3萬個網頁應用了 Java 技術來製作。10月,Sun 公司發布了 Java 平台的第一個即時編譯器 JIT(Just-In-Time Compiler)。

1996年4月,10個最主要的作業系統供應商申明將在其產品中嵌入JAVA技術。

1996年9月,約8.3萬個網頁應用了JAVA技術來製作。

1997年2月19日,JDK 1.1 面世,在隨後的3周時間裡,達到了22萬次的下載量。

1997年4月2日,Java One 會議召開,參會者逾一萬人,創當時全球同類會議規模之紀錄。

1997年9月,Java Developer Connection 社區成員超過10萬。

1998年2月,JDK1.1被下載超過2,00萬次。

1998年12月用 J2SE 取代 JDK 命名,以區別 J2EE 和 J2ME 平台

1998年12月8日,JAVA2 企業平台 J2EE 發布,該版本到J2SE 5.0為止的後續版本被更名為 Java 2,而版本名稱「J2SE」(Java 2平台,標準版)取代 JDK 以區別 J2EE(Java 2平台,企業版) 和 J2ME(Java 2 Platform,Micro Edition)基礎平台。這是 Java 的一個非常重要的版本,它將 Java 平台的大小增加至原先的三倍,在59個程式包中達到了1520個類。

1999年4月27日,HotSpot 虛擬機發布。HotSpot 虛擬機發布時是作為 JDK 1.2 的附加程式提供的,後來它成為了 JDK 1.3 及之後所有版本的 Sun JDK 的默認虛擬機。

1999年6月,Sun 公司發布了第二代 Java 平台(簡稱為Java2)的3個版本:

J2ME(Java2 Micro Edition,Java2 平台的微型版),應用於移動、無線及有限資源的環境;

J2SE(Java 2 Standard Edition,Java 2 平台的標準版),應用於桌面環境;

J2EE(Java 2 Enterprise Edition,Java 2 平台的企業版),應用於基於 Java 的應用伺服器。Java 2 平台的發布,是 Java 發展過程中最重要的一個里程碑,標誌著 Java 的應用開始普及。

2000年5月8日,JDK 1.3 發布。

2000年5月29日,JDK 1.4 發布。

2001年6月5日,NOKIA 宣布,到2003年將出售1億部支援 Java 的手機。

2001年9月24日,J2EE1.3 發布。

2002年2月26日,J2SE1.4 發布。自此 Java 的計算能力有了大幅提升,與 J2SE1.3 相比,其多了近62%的類和介面。在這些新特性當中,還提供了廣泛的 XML 支援、安全套接字(Socket)支援(通過SSL與TLS協議)、全新的 I/OAPI 、正則表達式、日誌與斷言。

2004年9月30日,J2SE1.5 發布,成為 Java 語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE 1.5 更名為 Java SE 5.0(內部版本號1.5.0),代號為 「Tiger」,Tiger 包含了從1996年發布1.0版本以來的最重大的更新,其中包括泛型支援、基本類型的自動裝箱、改進的循環、枚舉類型、格式化 I/O 及可變參數。

2005年發布J2SE 6並更名為 Java SE 6(全平台更名移除'2')

2005年6月,JavaOne 大會召開,Sun 公司公開 Java SE 6。此時,Java 的各種版本已經更名,以取消其中的數字「2」:J2EE 更名為 Java EE,J2SE 更名為 Java SE,J2ME 更名為 Java ME。

2006年 Sun 宣布 Java 基於 GPL 開源

2006年11月13日,Sun 公司宣布 Java 全線採納 GNU General Public License Version 2,將 Java 技術作為免費軟體對外發布,從而正式公開了Java 平台標準版的第一批源程式碼,以及 Java 迷你版的可執行源程式碼。

2006年12月11日,Sun把原本的名稱「 J2SE 」改為「 Java SE 」,然後再從版本號中去掉「.0」,而開發者內部編號仍然是1.6.0。這個版本是根據 JSR 270 開發的。在發展階段,新版本大概每周都發布包括一些功能增強和漏洞的修復。Beta 版本在2006年2月和6月發布,也就是為什麼2006年12月11日變成最終的版本。

2006年12月23日, Java SE 6 正式發布。

從2007年3月起,全世界所有的開發人員均可對 Java 源程式碼進行修改。

2009年 Sun 被 Oracle 收購

2009年4月20日,Oracle 公司宣布收購 Sun。

2009年12月,Sun 公司發布Java EE 6。

2010年,Oracle 公司正式收購 Sun,Java 程式語言的共同創始人之一 James Gosling 從 Oracle 公司辭職。

2010年11月,由於 Oracle 公司對於Java社區的不友善,因此Apache揚言將退出JCP。

2011年7月28日,Oracle 公司舉行了全球性的活動,以慶祝 Java7 的推出,隨後 Java7 正式發布。

2014年3月 Java8 (特殊的 LTS)發布

2014年3月18日,Oracle 公司發布了 Java SE 8(特殊的 LTS)。

2017年9月 Java9 (non-LTS)發布,並啟動新的版本控制和發布節奏模型

2017年9月21日,Oracle 公司發布 Java SE 9(non-LTS),並啟動新的版本控制和發布節奏模型。
整體發布節奏為每六個月發布一個新版本,其中每六個月發布一次non-LTS版本,每三年發布一次LTS版本(當二者發布時間衝突時,優先發布LTS版本,non-LTS版本向後推遲一個周期)。
non-LTS版本發布後會得到六個月的商業支援,到期後會被新發布版本取代;LTS版本發布後會得到至少八年的商業支援(根據市場需要有可能會延長),到期後會被新的LTS版本取代。

2018年3月20日,Oracle 公司發布 Java SE 10(non-LTS)。

2018年9月 Java11 (LTS)發布

2018年9月25日,Oracle 公司發布 Java SE 11(LTS)。

2019年3月19日,Oracle 公司發布 Java SE 12(non-LTS)。

2019年9月17日,Oracle 公司發布 Java SE 13(non-LTS)。

2020年3月17日,Oralce 公司發布 Java SE 14(non-LTS)。

2020年9月15日,Oracle 公司發布 Java SE 15(non-LTS)。

2021年3月16日,Oracle 公司發布 Java SE 16(non-LTS)。

參考資料(排名不分先後)

Oracle JDK 主頁
維基百科-Java
百度百科-Java
Oracle戰略收購Sun聲明
維基百科-Java版本歷史