IT兄弟连 Java语法教程 Java的发展历程
只有少數(shù)幾種編程語言對程序設(shè)計(jì)帶來過根本性的影響。其中,Java的影響由于迅速和廣泛而格外突出。可以毫不夸張的說,1995年Sun公司發(fā)布的Java1.0給計(jì)算機(jī)程序設(shè)計(jì)領(lǐng)域帶來了一場變革。這場變革迅速地把Web轉(zhuǎn)變了一個(gè)高度交互的環(huán)境,也給計(jì)算機(jī)語言的設(shè)計(jì)設(shè)置了一個(gè)新標(biāo)準(zhǔn)。
多年以來,Java不斷地發(fā)展、演化和修訂。和其他語言加入新功能的動(dòng)作遲緩不同,Java一直站在計(jì)算機(jī)程序設(shè)計(jì)語言的前沿,部分原因是變革的文化,部分原因是它所面對的變化。Java已經(jīng)做過或大或小的多次升級。
第一次主要的升級是1.1版,這次升級比較大,加入了很多新的庫元素,修訂了處理事件的方式,重新配置了1.0版本的庫中的許多功能。
第二個(gè)主要的版本是Java2,它代表Java的第二代,標(biāo)志著Java的“現(xiàn)代化”的到來。Java2第一個(gè)發(fā)布的版本號是1.2。Java2在第一次發(fā)布時(shí)使用1.2版本號看上去有些奇怪,原因在于該版本號最初是指Java庫的內(nèi)部版本號,后來就泛指整個(gè)版本號了。Java2被Sun公司重新包裝為J2SE(Java 2 Platform Standard Edition,請大家讀作J-two-SE,而不是J-2-SE),并且開始把版本號應(yīng)用于該產(chǎn)品。
在J2SE后的下一個(gè)版本是J2SE 1.3,它是Java 2版本首次較大的升級。它增強(qiáng)了一些已有的功能。
之后的J2SE 1.4版本進(jìn)一步增強(qiáng)了Java。該版本包括一些重要的新功能,如鏈?zhǔn)疆惓!⒒谕ǖ赖腎/O(NIO)以及assert關(guān)鍵字。
在J2SE 1.4版本之后的下一個(gè)版本是J2SE 5,他是Java的第二次變革。以前的幾次Java升級提供的改進(jìn)雖然重要,但是是增量式的,而J2SE 5卻從該語言的作用域、功能和范圍等方面提供了根本性的改進(jìn)。為了幫助理解J2SE 5的修改程度,下面列出了J2SE 5中的一些主要的新增功能:
● 泛型
● 自動(dòng)裝箱/自動(dòng)拆箱
● 枚舉
● 增強(qiáng)型for-each形式的for循環(huán)
● 可變長度實(shí)參(varargs)
● 靜態(tài)導(dǎo)入
● 注解(annotation)
這些條目都是重要的升級,每一條都代表了Java語言的一處重要改進(jìn)。其中,泛型、增強(qiáng)型for循環(huán)和可變長度實(shí)參引入了新的語法元素;自動(dòng)裝箱和自動(dòng)拆箱修改了語法規(guī)則;注解增加了一種全新的編程注解方法。
這些新功能的重要性反應(yīng)在使用的版本號“5”上,從版本號的變化方式看,這一版本的Java應(yīng)該是1.5。由于新功能和變革如此之多,常規(guī)的版本號升級(從1.4到1.5)已經(jīng)無法標(biāo)識實(shí)際的變化,因此Sun決定使用版本號5,以強(qiáng)調(diào)發(fā)生了重要改進(jìn)。因此,當(dāng)前的版本叫做J2SE 5,開發(fā)工具包叫做JDK 5。但是,為了保持和以前的一致性,Sun決定使用1.5作為內(nèi)部版本號,也叫做開發(fā)版本號。J2SE 5中的“5”叫做產(chǎn)品版本號。
J2SE 5之后發(fā)布的升級版本是Java SE 6,Sun再次決定修改Java平臺的名稱,把“2”從版本號中刪除了。因此,Java平臺現(xiàn)在的名稱是Java SE,官方產(chǎn)品名稱是Java Platform Standard Edition 6,對應(yīng)的Java開發(fā)工具包叫做JDK 6。和J2SE 5一樣,Java SE 6中的“6”是指產(chǎn)品的版本號,內(nèi)部的開發(fā)版本號是1.6。
Java SE 6建立在J2SE 5的基礎(chǔ)之上,做了進(jìn)一步的增強(qiáng)和改進(jìn)。Java SE 6并沒有對Java語言本身添加較大的功能,而是增強(qiáng)了API庫,添加了多個(gè)新包,改進(jìn)了運(yùn)行時(shí)環(huán)境。它在漫長的生命周期內(nèi)經(jīng)歷了一些更新,添加了一些升級功能。總之,Java SE 6進(jìn)一步鞏固了J2SE 5建立的領(lǐng)先地位。在國內(nèi),J2SE 5以及Java SE 6是使用最多的版本。
Java SE 6之后發(fā)布的升級版本是Java SE 7,對應(yīng)的Java開發(fā)工具包叫做JDK 7,內(nèi)部版本號是1.7。Java SE 7是Oracle收購(2009年4月20日僅僅以74億美元收購,在Sun被收購后僅僅一年James Gosling便從Oracle離職了)Sun Microsystems之后發(fā)布的第一個(gè)主版本。Java SE 7包含許多新功能,對語言和API庫做了許多增強(qiáng)。Java SE 7添加的最重要的功能是在Project Coin中開發(fā)的那些功能。Project Coin的目的是確保把對Java語言所做的很多小改動(dòng)包含到JDK 7中,其中包括:
● 使用String控制switch語句。
● 二進(jìn)制×××字面值。
● 在數(shù)值字面值中使用下劃線。
● 新增一種叫做try-with-resources的try語句,支持自動(dòng)資源管理。
● 構(gòu)造泛型實(shí)例時(shí),通過菱形運(yùn)算符使用類型推斷。
● 增強(qiáng)了異常處理,可以使用單個(gè)catch捕獲兩個(gè)或更多個(gè)異常(多重捕獲),并且對重新拋出的異常可以進(jìn)行更好的類型檢查。
可以看到,雖然Project Coin中的功能被視為小改動(dòng),但是“小”這個(gè)詞實(shí)在不能體現(xiàn)它們所帶來的好處。特別是,try-with-resources語句對大量代碼的編寫方式會產(chǎn)生深遠(yuǎn)的影響。
之后Oracle推出了Java SE 8,這也是目前國內(nèi)使用的最新的版本(僅僅是少數(shù)公司,大部分公司還在使用Java SE 8之前的版本),Java SE 8對應(yīng)的開發(fā)工具包是JDK 8,內(nèi)部的開發(fā)版本號是1.8。JDK 8表示這是對Java語言的一次重大升級(其實(shí)這些升級應(yīng)該在Java SE 7時(shí)便完成的,但是當(dāng)時(shí)Sun公司被Oracle收購,延誤了開發(fā),所以在Java SE 7中沒有包含這些升級),因?yàn)楸敬紊壈艘环N意義深遠(yuǎn)的新語言功能:lambda表達(dá)式。lambda表達(dá)式的影響深遠(yuǎn):不但改變了概念化的編程方式,而且改變了Java代碼的編寫方式。使用lambda表達(dá)式,可以簡化并減少創(chuàng)建某個(gè)結(jié)構(gòu)所需的源代碼量。lambda表達(dá)式有助于確保Java成為用戶所期望的充滿活力且敏捷的語言。從JDK 8開始,通過接口還可以為指定的方法定義默認(rèn)實(shí)現(xiàn)。總之,Java SE 8這一主要版本擴(kuò)展了Java語言的功能,并且改變了Java代碼的編寫方式,帶來的影響足夠深遠(yuǎn),在未來幾年后將體現(xiàn)出來(注意,是未來幾年后,而不是當(dāng)前)。
在Java SE 8之后,Oracle公司又相繼推出了Java SE 9以及Java SE 10版本,預(yù)計(jì)2018年9月份推出Java SE 11。但是Java SE 8作為一個(gè)LTS版本(長期支持版,將有三年的維護(hù)期,直到下一個(gè)LTS版本發(fā)布,按照Oracle目前的計(jì)劃,下一個(gè)LTS版本是Java SE 11)依然是目前最好的選擇,而Java SE 9、Java SE 10將作為功能性更新版本,維護(hù)周期只有6個(gè)月的時(shí)間。所以不建議大家使用。而且在Java SE 9中增加的新特性可能因?yàn)橐恍┰蛟贘ava SE 10或Java SE 11中就被移除了,所以也不建議大家學(xué)習(xí)最新版本的新特性,還是以學(xué)習(xí)穩(wěn)定版本為主要目標(biāo)。
轉(zhuǎn)載于:https://blog.51cto.com/14311187/2408177
總結(jié)
以上是生活随笔為你收集整理的IT兄弟连 Java语法教程 Java的发展历程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机浏览器无法获取COOKIE的原因
- 下一篇: explain