Java發展歷程

  Java 的發展要追溯到 1991 年,Patrick Naughton(帕特里克·諾頓)和 James Gosling(詹姆斯·高斯林)帶領 Sun 公司的工程師打算爲有線電視轉換盒之類的消費產品設計一種小型語言,由於這些設備的處理能力和內存都有限,因此要求語言必需要小且能生成緊湊的代碼。另外因爲處理器的多樣性,這種語言不能與任何體系結構有關聯,這個項目就被命名爲「Green」(參考國內許多軟件綠色版)。提起平臺無關性,Pascal 之父 Niklaus Wirth(尼古拉斯·沃斯)曾帶領團隊設計出一種爲假想的機器生成中間代碼的可移植語言,而這種假想的機器被稱爲虛擬機,Java 虛擬機(JVM)就是由此而來。因爲當時 Sun 公司的人都有 Unix 應用開發經驗,因此語言是以 C++ 爲基礎,Gosling 將這種語言命名爲 Oak,隨後發現 Oak 是一種已有的計算機語言的名字,因而將其更名爲 Java。
  1992 年 Green 項目組發佈了第一個產品,主要特性爲智能遠程控制,然而沒有一家公司對比感興趣,包括 Sun。然後 Green 項目組以 First Person 公司花費 1993 年整整一年以及 1994 年上半年的時間來尋找其技術的買家,然而一個也沒有找到。1994 年 First Person 公司解散,而工做還在 Sun 公司中繼續進行,同時互聯網業日漸壯大,Web 的關鍵是把超文本界面轉換到瀏覽器中,1994 年大部分人都在使用 Mosaic,Java 的開發者爲了炫耀 Java 語言超強的能力,開發了 HotJava 瀏覽器,HotJava 具備執行網頁中內嵌代碼的能力,即所謂的 applet,在 1995 年 5 月 23 日的 SunWorld 上,這一技術印證獲得了展現,同時引起了對 Java 的狂熱追逐並延續至今。
  1996 年年初,Sun 發佈了 Java 的第一個版本,可是這個版本並不能進行真正的應用開發,隨後而來的 Java 1.1 彌補了許多明顯的缺陷,大大改進了反射能力,併爲 GUI 編程增長了新的事件處理模型,可是仍具備很大的侷限性。1998 年 JavaOne 會議上,Java 1.2 版發佈,取代了以前玩具式的 GUI,而且圖形工具箱更加精細而具備可伸縮性,這次更新推出了標準版、微型版和企業版,即 Java2 SE、Java2 ME和Java2 EE。2000 年發佈的 1.3 版和 2002 年發佈的 1.4 版只是對 Java2 版本進行 BUG 修正,擴展了標準類庫,提升了系統性能,而在此期間,applet 漸漸淡出了客戶端的應用,Java 成爲服務器端應用的首選平臺。
  2004 年 Java 5.0(一開始命名爲 1.5,可是在 JavaOne 會議後版本號提高至 5.0)發佈,這是自 1.1 版以來第一個對 Java 作出重大改進的版本,這次更新添加了泛型類型、「for each」循環、自動裝箱和元數據等。2006 年年底,Java 6 發佈,可是這次更新僅僅改進了性能、加強了類庫,並未對語言方面再進行改進。2009 年,Sun 被 Oracle 收購,所以 Java 的開發停滯了很長一段時間,直到 2011 年 Oracle 發佈了 Java 7,可是隻是作了一些簡單的改進,決定把重要改進留到 Java 8。
  2014 年 Oracle 發佈了 Java 8,這次更新的重點之一就是 Lambda 表達式,目的是使 Java 更易於爲多核處理器編寫代碼;其次新加入的 Nashorn 引擎也使得 Java 程序能夠和 JavaScript 代碼互操做;加入了新的類庫並改進 GC 和併發。因爲版本升級帶來的學習成本提高和語法變動致使的後期維護難度提高等因素,Java 8在這篇文章更新時( 2018 年 5 月)還未在實際開發中大範圍的投入使用。
  2017 年 9 月,在 Java 8 還未大範圍投入使用的時候,Oracle 發佈了 Java 9。這次更新的最主要功能爲模塊化開發,隨着 Java 這麼多年的發展,其自己類庫及第三方提供的類庫愈來愈多也愈來愈大,一般一個系統中須要包含大量的冗餘代碼,Java 但願經過模塊化的方式減小冗餘代碼,提高性能、安全性和可維護性。另外 Java 9 還增長了 HTTP/2 支持、私有接口方法、多版本兼容 JAR、修改了默認垃圾回收器以及加強 IO 流等。
  2018 年 3 月,Oracle 發佈了 Java 10,這次更新合併了 JDK 的多個代碼倉庫,主要更新爲局部變量的類型推斷,引入"var"關鍵字,能夠隨意定義變量而沒必要指定變量的類型,我的認爲這一更新可能會增長代碼的維護難度,具體還須要在實踐中驗證,另外 Java 10 還包括諸如 GC 改進、線程局部管控、基於 Java 的 JIT 編譯器以及證書相關等更新。
  按照當前的 Java 更新計劃,Java 11 將會在 2018 年 9 月份發佈,目前已公佈的更新內容主要是 Epsilon 垃圾收集器和lambda 參數的局部變量語法,同時會移除 Java EE和CORBA 模塊,以及 JavaFX 將做爲獨立模塊提供,再也不包含在 JDK 安裝包中。官方將在 2026 前對 Java 11 提供支持,能夠看出 Java 11 將會是一個長期支持的穩定版本。按照目前 Oracle 的開發計劃,半年一個版本,兩年一個長期支持版本,Java 12 將在 2019 年 3 月份發佈,Java 15 將會是下一個長期支持版本。
相關文章
相關標籤/搜索