官术网_书友最值得收藏!

1.1.2 Java發(fā)展史上的里程碑

下面,將簡(jiǎn)要介紹一下Java發(fā)展史上的重大事項(xiàng)。

1990年,在Sun計(jì)算機(jī)公司中,由Patrick Naughton、Mike Sheridan及James Gosling領(lǐng)導(dǎo)的小組Green Team開(kāi)始研發(fā)一種可控制家用電子產(chǎn)品的新型計(jì)算機(jī)軟件技術(shù),并希望能夠研究出一種可以跨平臺(tái)的系統(tǒng)。開(kāi)始他們?cè)囍贑++的基礎(chǔ)上做修改,但一直無(wú)法克服編譯器的問(wèn)題,所以決定自行開(kāi)發(fā)新的程序語(yǔ)言—Oak。這里的Oak已經(jīng)具備安全性、網(wǎng)絡(luò)通信、面向?qū)ο蟆⒗厥铡⒍嗑€程等特性。后來(lái)他們發(fā)現(xiàn)Oak已經(jīng)被其他公司注冊(cè),于是改名為Java。

1995年,Sun正式發(fā)布Java和HotJava產(chǎn)品,Java首次公開(kāi)亮相。

1996年1月23日Sun Microsystems發(fā)布了JDK 1.0。這個(gè)版本包括了兩部分:運(yùn)行環(huán)境(即JRE)和開(kāi)發(fā)環(huán)境(即JDK)。在運(yùn)行環(huán)境中包括了核心API、用戶界面API、發(fā)布技術(shù)、Java虛擬機(jī)(JVM)幾個(gè)部分。開(kāi)發(fā)環(huán)境包括了編譯Java程序的編譯器(即javac)。在JDK 1.0時(shí)代,Java使用一款叫作Classic的虛擬機(jī)解釋執(zhí)行Java字節(jié)碼。

1997年2月18日Sun發(fā)布了JDK 1.1,在該版本中,已經(jīng)支持AWT、內(nèi)部類、JDBC、RMI、反射等特性。同年,Sun收購(gòu)了一家叫作Longview Technologies的公司,從而獲得了Hotspot虛擬機(jī)。

同在1997年,Jim Hugunin創(chuàng)造了Jython,但由于各種原因,Jython的發(fā)展相當(dāng)緩慢,但到現(xiàn)在為止,Jython已經(jīng)取得了長(zhǎng)足的進(jìn)步,甚至已經(jīng)可以運(yùn)行Django框架。

1998年,JDK 1.2版本發(fā)布(從這個(gè)版本開(kāi)始的Java技術(shù)都稱為Java 2)。Java 2不僅能兼容智能卡和小型消費(fèi)類設(shè)備,還能兼容大型的服務(wù)器系統(tǒng),它使軟件開(kāi)發(fā)商、服務(wù)提供商和設(shè)備提供商更加容易搶占市場(chǎng)機(jī)遇。這一開(kāi)發(fā)工具極大地簡(jiǎn)化了編程人員編制企業(yè)級(jí)Web應(yīng)用的工作。同時(shí)Sun發(fā)布了JSP/Servlet、EJB規(guī)范,將Java分成了J2EE、J2SE和J2ME。這表明了Java開(kāi)始向企業(yè)、桌面應(yīng)用和移動(dòng)設(shè)備應(yīng)用3大領(lǐng)域挺進(jìn)。此時(shí)的Java已經(jīng)做到了解釋執(zhí)行和編譯執(zhí)行混合運(yùn)行。

2000年,JDK 1.3 發(fā)布,Hotspot虛擬機(jī)成為Java的默認(rèn)虛擬機(jī)。

2002年,JDK 1.4 發(fā)布,古老的Classic虛擬機(jī)退出歷史舞臺(tái)。

2003年年底,Java平臺(tái)的Scala正式發(fā)布,同年Groovy也加入了Java陣營(yíng)。

2004年,JDK 1.5 發(fā)布。同時(shí)JDK 1.5改名為J2SE 5.0。在這個(gè)版本中,Java語(yǔ)言做了大量的改進(jìn),比如支持了泛型、注解、自動(dòng)裝箱拆箱、枚舉類型、可變長(zhǎng)參數(shù)、增強(qiáng)的foreach循環(huán)等。語(yǔ)法上的簡(jiǎn)化和改進(jìn)是這一版本的一大特色。

2006年,JDK 1.6發(fā)布。同年,Java開(kāi)源并建立了OpenJDK。順理成章,Hotspot虛擬機(jī)也成為了OpenJDK中的默認(rèn)虛擬機(jī)。

2007年,Java平臺(tái)迎來(lái)了新伙伴Clojure。

2008年,Oracle收購(gòu)了BEA,得到了JRockit虛擬機(jī)。

2009年,Twitter宣布把后臺(tái)大部分程序從Ruby遷移到Scala,這是Java平臺(tái)的又一次大規(guī)模應(yīng)用。

2010年,Oracle收購(gòu)了Sun,獲得最具價(jià)值的Hotspot虛擬機(jī)。此時(shí),Oracle擁有市場(chǎng)占用率最高的兩款虛擬機(jī)Hotspot和JRockit,并計(jì)劃在未來(lái)對(duì)它們進(jìn)行整合。

2011年,JDK 1.7發(fā)布。在JDK 1.7中,正式啟用了新的垃圾回收器G1,支持了64位系統(tǒng)的壓縮指針及NIO 2.0,同時(shí)新增的invokedynamic指令也是該版本的一大特色。

2014年,JDK 1.8發(fā)布。在JDK 1.8中,全新的Lambda表達(dá)式是一大亮點(diǎn),它徹底改變了Java的編程風(fēng)格和習(xí)慣。

Oracle計(jì)劃在2016年發(fā)布JDK 1.9。屆時(shí),最令人期待的功能應(yīng)該是Java的模塊化。

2017年,JDK 9發(fā)布。在JDK 9中,引入了Java模塊化,允許開(kāi)發(fā)者根據(jù)項(xiàng)目的需求自定義模塊組件,使Java能夠更加容易地應(yīng)用到小型計(jì)算設(shè)備。

2018年,JDK10發(fā)布,引入了var 局部變量類型推斷,可以有效地減少代碼的冗余,統(tǒng)一了垃圾回收接口,優(yōu)化了G1 垃圾回收器的并行完整垃圾回收。

注意:在本書中,JDK 1.6等同于JDK 6,JDK 1.7等同于JDK 7,JDK 1.8等同于JDK 8,JDK 1.9等同于JDK 9,JDK 1.10等同于JDK 10。

主站蜘蛛池模板: 高安市| 乌兰察布市| 海林市| 镇安县| 景泰县| 固镇县| 上虞市| 颍上县| 巴林左旗| 武强县| 延边| 扶风县| 当阳市| 泗阳县| 北安市| 镇原县| 澎湖县| 梅州市| 义乌市| 田阳县| 东山县| 乌拉特中旗| 霍州市| 汤原县| 苗栗县| 永德县| 贵溪市| 平果县| 哈巴河县| 滁州市| 宁阳县| 武川县| 永和县| 屯留县| 屏边| 合肥市| 石楼县| 太原市| 同心县| 淳化县| 宜都市|