IT兄弟連 Java語法教程 Java的發展歷程

只有少數幾種編程語言對程序設計帶來過根本性的影響。其中,Java的影響因爲迅速和普遍而格外突出。能夠絕不誇張的說,1995年Sun公司發佈的Java1.0給計算機程序設計領域帶來了一場變革。這場變革迅速地把Web轉變了一個高度交互的環境,也給計算機語言的設計設置了一個新標準。編程

多年以來,Java不斷地發展、演化和修訂。和其餘語言加入新功能的動做遲緩不一樣,Java一直站在計算機程序設計語言的前沿,部分緣由是變革的文化,部分緣由是它所面對的變化。Java已經作過或大或小的屢次升級。編程語言

第一次主要的升級是1.1版,此次升級比較大,加入了不少新的庫元素,修訂了處理事件的方式,從新配置了1.0版本的庫中的許多功能。工具

第二個主要的版本是Java2,它表明Java的第二代,標誌着Java的「現代化」的到來。Java2第一個發佈的版本號是1.2。Java2在第一次發佈時使用1.2版本號看上去有些奇怪,緣由在於該版本號最初是指Java庫的內部版本號,後來就泛指整個版本號了。Java2被Sun公司從新包裝爲J2SE(Java 2 Platform Standard Edition,請你們讀做J-two-SE,而不是J-2-SE),而且開始把版本號應用於該產品。學習

在J2SE後的下一個版本是J2SE 1.3,它是Java 2版本首次較大的升級。它加強了一些已有的功能。開發工具

以後的J2SE 1.4版本進一步加強了Java。該版本包括一些重要的新功能,如鏈式異常、基於通道的I/O(NIO)以及assert關鍵字。設計

在J2SE 1.4版本以後的下一個版本是J2SE 5,他是Java的第二次變革。之前的幾回Java升級提供的改進雖然重要,可是是增量式的,而J2SE 5卻從該語言的做用域、功能和範圍等方面提供了根本性的改進。爲了幫助理解J2SE 5的修改程度,下面列出了J2SE 5中的一些主要的新增功能:orm

●  泛型接口

●  自動裝箱/自動拆箱生命週期

●  枚舉事件

●  加強型for-each形式的for循環

●  可變長度實參(varargs)

●  靜態導入

●  註解(annotation)

這些條目都是重要的升級,每一條都表明了Java語言的一處重要改進。其中,泛型、加強型for循環和可變長度實參引入了新的語法元素;自動裝箱和自動拆箱修改了語法規則;註解增長了一種全新的編程註解方法。

這些新功能的重要性反應在使用的版本號「5」上,從版本號的變化方式看,這一版本的Java應該是1.5。因爲新功能和變革如此之多,常規的版本號升級(從1.4到1.5)已經沒法標識實際的變化,所以Sun決定使用版本號5,以強調發生了重要改進。所以,當前的版本叫作J2SE 5,開發工具包叫作JDK 5。可是,爲了保持和之前的一致性,Sun決定使用1.5做爲內部版本號,也叫作開發版本號。J2SE 5中的「5」叫作產品版本號。

J2SE 5以後發佈的升級版本是Java SE 6,Sun再次決定修改Java平臺的名稱,把「2」從版本號中刪除了。所以,Java平臺如今的名稱是Java SE,官方產品名稱是Java Platform Standard Edition 6,對應的Java開發工具包叫作JDK 6。和J2SE 5同樣,Java SE 6中的「6」是指產品的版本號,內部的開發版本號是1.6。

Java SE 6創建在J2SE 5的基礎之上,作了進一步的加強和改進。Java SE 6並無對Java語言自己添加較大的功能,而是加強了API庫,添加了多個新包,改進了運行時環境。它在漫長的生命週期內經歷了一些更新,添加了一些升級功能。總之,Java SE 6進一步鞏固了J2SE 5創建的領先地位。在國內,J2SE 5以及Java SE 6是使用最多的版本。

Java SE 6以後發佈的升級版本是Java SE 7,對應的Java開發工具包叫作JDK 7,內部版本號是1.7。Java SE 7是Oracle收購(2009年4月20日僅僅以74億美圓收購,在Sun被收購後僅僅一年James Gosling便從Oracle離職了)Sun Microsystems以後發佈的第一個主版本。Java SE 7包含許多新功能,對語言和API庫作了許多加強。Java SE 7添加的最重要的功能是在Project Coin中開發的那些功能。Project Coin的目的是確保把對Java語言所作的不少小改動包含到JDK 7中,其中包括:

●  使用String控制switch語句。

●  二進制整形字面值。

●  在數值字面值中使用下劃線。

●  新增一種叫作try-with-resources的try語句,支持自動資源管理。

●  構造泛型實例時,經過菱形運算符使用類型推斷。

●  加強了異常處理,可使用單個catch捕獲兩個或更多個異常(多重捕獲),而且對從新拋出的異常能夠進行更好的類型檢查。

能夠看到,雖然Project Coin中的功能被視爲小改動,可是「小」這個詞實在不能體現它們所帶來的好處。特別是,try-with-resources語句對大量代碼的編寫方式會產生深遠的影響。

以後Oracle推出了Java SE 8,這也是目前國內使用的最新的版本(僅僅是少數公司,大部分公司還在使用Java SE 8以前的版本),Java SE 8對應的開發工具包是JDK 8,內部的開發版本號是1.8。JDK 8表示這是對Java語言的一次重大升級(其實這些升級應該在Java SE 7時便完成的,可是當時Sun公司被Oracle收購,延誤了開發,因此在Java SE 7中沒有包含這些升級),由於本次升級包含了一種意義深遠的新語言功能:lambda表達式。lambda表達式的影響深遠:不但改變了概念化的編程方式,並且改變了Java代碼的編寫方式。使用lambda表達式,能夠簡化並減小建立某個結構所需的源代碼量。lambda表達式有助於確保Java成爲用戶所指望的充滿活力且敏捷的語言。從JDK 8開始,經過接口還能夠爲指定的方法定義默認實現。總之,Java SE 8這一主要版本擴展了Java語言的功能,而且改變了Java代碼的編寫方式,帶來的影響足夠深遠,在將來幾年後將體現出來(注意,是將來幾年後,而不是當前)。

在Java SE 8以後,Oracle公司又相繼推出了Java SE 9以及Java SE 10版本,預計2018年9月份推出Java SE 11。可是Java SE 8做爲一個LTS版本(長期支持版,將有三年的維護期,直到下一個LTS版本發佈,按照Oracle目前的計劃,下一個LTS版本是Java SE 11)依然是目前最好的選擇,而Java SE 九、Java SE 10將做爲功能性更新版本,維護週期只有6個月的時間。因此不建議你們使用。並且在Java SE 9中增長的新特性可能由於一些緣由在Java SE 10或Java SE 11中就被移除了,因此也不建議你們學習最新版本的新特性,仍是以學習穩定版本爲主要目標。

相關文章
相關標籤/搜索