国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Java開發(fā)技術(shù)十年的回顧與展望

2019-11-18 15:29:56
字體:
供稿:網(wǎng)友

  從JDK誕生到現(xiàn)在已經(jīng)有11年的時(shí)間了。滄海桑田一瞬間。轉(zhuǎn)眼11年過去了,JDK已經(jīng)發(fā)布了6個(gè)版本。在這11年里誕生了無數(shù)和java相關(guān)的技術(shù)和標(biāo)準(zhǔn)。現(xiàn)在讓我們進(jìn)入時(shí)間隧道,重新回到1995年,再往返顧一下Java的發(fā)展軌跡和歷史變遷。

  一、 JDK前傳

  在這個(gè)世界上,熟悉Java歷史的人非常多,假如要問一個(gè)人Java是從哪年誕生的,也許大多數(shù)人都會(huì)回答是1995年(這個(gè)非常好記,因?yàn)槲④浀腤indows95也是在這一年發(fā)布的)。但事實(shí)上Java早在上個(gè)世紀(jì)90年代初就開始醞釀了。

  1991年4月,Sun公司的James Gosling領(lǐng)導(dǎo)的綠色計(jì)劃(Green PRoject)開始著力發(fā)展一種分布式系統(tǒng)結(jié)構(gòu),使其能夠在各種消費(fèi)性電子產(chǎn)品上運(yùn)行。而Green項(xiàng)目組的成員一開始使用C++語言來完成這個(gè)項(xiàng)目,由于Green項(xiàng)目組的成員都具有C++背景,所以他們首先把目光鎖定了C++編譯器,Gosling首先改寫了C++編譯器,但很快他就感到C++的很多不足,需要研發(fā)一種新的語言Java來替代它,一杯飄香的咖啡成為了它的標(biāo)志。

  在17 個(gè)月后,整個(gè)系統(tǒng)完成了,這個(gè)系統(tǒng)是更注重機(jī)頂盒式的操作系統(tǒng),不過在當(dāng)時(shí)市場(chǎng)不成熟的情況下,他們的項(xiàng)目沒有獲得成功,但Java語言卻得到了Sun總裁McNealy的賞識(shí)。
 
  直至 1994年下半年,由于Internet的迅猛發(fā)展和環(huán)球信息網(wǎng) WWW的快速增長(zhǎng),第一個(gè)全球信息網(wǎng)絡(luò)瀏覽器Mosaic誕生了;此時(shí),工業(yè)界對(duì)適合在網(wǎng)絡(luò)異構(gòu)環(huán)境下使用的語言有一種非常急迫的需求;Games Gosling決定改變綠色計(jì)劃的發(fā)展方向,他們對(duì)Oak進(jìn)行了小規(guī)模的改造,就這樣,Java在1995年的3月23日誕生了!Java的誕生標(biāo)志著互聯(lián)網(wǎng)時(shí)代的開始,它能夠被應(yīng)用在全球信息網(wǎng)絡(luò)的平臺(tái)上編寫互動(dòng)性及強(qiáng)的Applet程序,而1995年的Applet無疑能給人們無窮的視覺和腦力震蕩。我們姑且將Java的這段歷史稱為Java前傳吧。

  其實(shí)Java的誕生頗有那么一股“有心栽花花不開,無心插柳柳成陰”的味道。就象當(dāng)年Unix和它的前身MULTICS系統(tǒng)一樣。

Java開發(fā)技術(shù)十年的回顧與展望 
圖1 Java創(chuàng)始人 James Gosling博士

  二、JDK的幼年時(shí)期(1995~1998)

  Sun繼Green項(xiàng)目后又經(jīng)過了幾年的研究,終于在1995年5月23日在SunWorld'95上正式發(fā)布Java和HotJava瀏覽器。在同年,有很多公司先后獲得了Java許可證,如Netscape在1995年8月,Oracle在1995年10月分別獲得了Java許可證。Sun在1995年發(fā)布第一個(gè)Java版本后,于1996年1月公布成立新的業(yè)務(wù)部門──JavaSoft部,這個(gè)部分主要負(fù)責(zé)開發(fā)、銷售并支持基于Java技術(shù)的產(chǎn)品,由AlanBaratz先生任總裁。

  在1995年Sun雖然推出了Java,但這只是一種語言,而要想開發(fā)復(fù)雜的應(yīng)用程序,必須要有一個(gè)的強(qiáng)大的開發(fā)庫支持還行。因此,Sun在1996年1月23日發(fā)布了JDK1.0。這個(gè)版本包括了兩部分:運(yùn)行環(huán)境(即JRE)和開發(fā)環(huán)境(即JDK)。在運(yùn)行環(huán)境中包括了核心API、集成API,用戶界面API,發(fā)布技術(shù),Java虛擬機(jī)(JVM)五個(gè)部分。而開發(fā)環(huán)境還包括了編譯Java程序的編譯器(即javac)。在JDK1.0時(shí)代,JDK除了AWT(一種用于開發(fā)圖形用戶界面的API)外,其它的庫并不完整。

  Sun在推出JDK1.0后,緊跟著,Sun在1997年2月18日發(fā)布了JDK1.1。JDK1.1相對(duì)于JDK1.0最大的改進(jìn)就是為JVM增加了JIT(即時(shí)編譯)編譯器。JIT和傳統(tǒng)的編譯器不同,傳統(tǒng)的編譯器是編譯一條,運(yùn)行完后再將其扔掉,而JIT會(huì)將經(jīng)常用到的指令保存在內(nèi)容中,在下次調(diào)用時(shí)就不需要再編譯了。這樣JDK在效率上有了非常大的提升。

  Sun在推出JDK1.1后,接著又推出了數(shù)個(gè)JDK1.x版本。自從Sun推出Java后,JDK的下載量不斷彪升,在1997年,JDK的下載量突破了220,000,而在1998年,JDK的下載量已經(jīng)超過了2,000,000。

  雖然在1998年之前,Java被眾多的軟件企業(yè)所采用,但由于當(dāng)時(shí)硬件環(huán)境和JVM的技術(shù)原因,它的應(yīng)用卻很有限。當(dāng)時(shí)Java主要只使用在前端的Applet以及一些移動(dòng)設(shè)備中。然而這并不等于Java的應(yīng)用只限于這些領(lǐng)域。在1998年是Java開始迅猛發(fā)展的一年。在這一年中Sun發(fā)布了jsp/Servlet、EJB規(guī)范以及將Java分成了J2EE、J2SE和J2ME。標(biāo)志著Java已經(jīng)吹響了向企業(yè)、桌面和移動(dòng)3個(gè)領(lǐng)域進(jìn)軍的號(hào)角。

  三、JDK的青少年時(shí)期(1998~2004)

  到1998年,Java已經(jīng)走過了3個(gè)年頭。從JDK1.0到JDK1.1.8。JDK1.x經(jīng)過了9個(gè)小版本的發(fā)展,已經(jīng)初具規(guī)模。至此,它已經(jīng)走出了搖籃,可以去獨(dú)闖世界了。

  在1998年12月4日。Sun發(fā)布了Java的歷史上最重要的一個(gè)JDK版本:JDK1.2。這個(gè)版本標(biāo)志著Java已經(jīng)進(jìn)入Java2時(shí)代。這個(gè)時(shí)期也是Java飛速發(fā)展的時(shí)期。

  在Java2時(shí)代Sun對(duì)Java進(jìn)行了很多革命性的變化 ,而這些革命性的變化一直沿用到現(xiàn)在,對(duì)Java的發(fā)展形成了深遠(yuǎn)的影響。

  JDK1.2自從被分成了J2EE、J2SE和J2ME三大塊,得到了市場(chǎng)的強(qiáng)烈反響。不僅如此,JDK1.2還對(duì)它的API分成了三大類。

  核心API
  由Sun公司制定的基本的API,所有的Java平臺(tái)都應(yīng)該提供。這就是我們平常所說的Java核心類庫。

  可選API
  這是Sun為JDK提供的擴(kuò)充API,這些API因平臺(tái)的不同而不同。

  非凡API
  用于滿足非凡要求的API。如用于JCA和JCE的第三方加密類庫。

  Java2除了上述的一些改進(jìn)外,還增加了很多新的特性。其中最吸引眼球的當(dāng)屬Swing了。Swing是Java的另一個(gè)圖形庫。它不但有各式各樣先進(jìn)的組件,而且連組件風(fēng)格都可抽換。在Swing出現(xiàn)后,很快就搶了AWT的風(fēng)頭。但Swing并不是為取代AWT而存在的,事實(shí)上Swing是建立在AWT之上的。就象JFace是建立在SWT之上一樣。另外Java2還在多線程、集合類和非同步類上做了大量的改進(jìn)。

  從JDK1.2開始,Sun以平均2年一個(gè)版本的速度推出新的JDK。在2000年5月8日。Sun對(duì)JDK1.2進(jìn)行了重大升級(jí)。推出了JDK1.3。

  Sun在JDK1.3中同樣進(jìn)行了大量的改進(jìn),主要表現(xiàn)在一些類庫上(如數(shù)學(xué)運(yùn)算、新的Timer API等)、在JNDI接口方面增加了一些DNS的支持、增加了JNI的支持,這使得Java可以訪問本地資源了、支持xml以及使用新的Hotspot虛擬機(jī)代替了傳統(tǒng)的虛擬機(jī)。

  在JDK1.3時(shí)代,相應(yīng)的應(yīng)用程序服務(wù)器也得到了廣泛的應(yīng)用,如第一個(gè)穩(wěn)定版本Tomcat3.x在這一時(shí)期得到了廣泛的應(yīng)用,WebLogic等商業(yè)應(yīng)用服務(wù)器也漸漸被接受。

  時(shí)間如水、生命如歌。轉(zhuǎn)眼到了2002年。Sun在這一年的2月13日發(fā)布了JDK歷史上最為成熟的版本:JDK1.4。在進(jìn)入21世紀(jì)以來,曾經(jīng)在.NET平臺(tái)和Java平臺(tái)之間發(fā)生了一次聲勢(shì)浩大的孰優(yōu)孰劣的論戰(zhàn),Java的主要問題就是性能。

  因此,這次Sun將主要精力放到了Java的性能上。在JDK1.4中,Sun放言要對(duì)Hotspot虛擬機(jī)的鎖機(jī)制進(jìn)行了改進(jìn),使JDK1.4的性能有了質(zhì)的飛躍。同時(shí)由于Compaq、Fujitsu、 SAS、 Symbian、 IBM等公司的參與,使JDK1.4成為發(fā)展最快的一個(gè)JDK版本。到JDK1.4為止,我們已經(jīng)可以使用Java實(shí)現(xiàn)大多數(shù)的應(yīng)用了。

  四、JDK的壯年時(shí)期(2004~至今)

  雖然從JDK1.4開始,Java的性能有了顯著的提高,但Java又面臨著另一個(gè)問題,那就是復(fù)雜。

  雖然Java是純面向?qū)ο笳Z言,但它對(duì)一些高級(jí)的語言特性(如泛型、增強(qiáng)的for語句)并不支持。而且和Java相關(guān)的技術(shù),如EJB2.x,也由于它們的復(fù)雜而很少有人問津。也許是Sun意識(shí)到了這一點(diǎn)。因此,在2004年10月,Sun發(fā)布了我們期待已久的版本:JDK1.5,同時(shí),Sun將JDK1.5改名為J2SE5.0。和JDK1.4不同,JDK1.4的主題是性能,而J2SE5.0的主題是易用。Sun之所以將版本號(hào)1.5改為5.0,就是預(yù)示著J2SE5.0較以前的J2SE版本有著很大的改過。

  Sun不僅為J2SE5.0增加了諸如泛型、增強(qiáng)的for語句、可變數(shù)目參數(shù)、注釋(Annotations)、自動(dòng)拆箱(unboxing)和裝箱等功能,同時(shí),也更新的企業(yè)級(jí)規(guī)范,如通過注釋等新特性改善了EJB的復(fù)雜性,并推出了EJB3.0規(guī)范。同時(shí)又針對(duì)JSP的前端界面設(shè)計(jì)而推出了JSF。這個(gè)JSF類似于asp.net的服務(wù)端控件。通過它可以很快地建立起復(fù)雜的JSP界面。

  到今年年底Sun也再接再厲地推出了J2SE6.0的測(cè)試版,預(yù)計(jì)在2007年初將推出它的正式版。

  正象J2SE6.0的開發(fā)代號(hào)“野馬(Mustang)”一樣,我們已經(jīng)隱約聽到了野馬的嘶鳴。據(jù)Sun發(fā)言人透露,J2SE6.0不僅在性能、易用性方面得到了前所未有的提高,而且還提供了如腳本、全新的API(Swing和AWT等API已經(jīng)被更新)的支持。而且J2SE6.0是專為Vista而設(shè)計(jì)的,它在Vista上將會(huì)擁有更好的性能。在推出J2SE6.0的同時(shí),J2SE7.0項(xiàng)目也已經(jīng)啟動(dòng)。

  在Java發(fā)展的十幾年的時(shí)間里,經(jīng)歷了無數(shù)的風(fēng)風(fēng)雨雨。現(xiàn)在Java已經(jīng)成為一種相當(dāng)成熟的語言了。在這10年的發(fā)展中,Java平臺(tái)吸引了數(shù)百萬的開發(fā)者,在網(wǎng)絡(luò)計(jì)算遍及全球的今天,更是有20億臺(tái)設(shè)備使用了Java技術(shù)。作為Java技術(shù)的基礎(chǔ),J2SE功不可沒,讓我們期望J2SE伴隨Java平臺(tái)一路走好!

  五、JDK各版的發(fā)布時(shí)間表

到現(xiàn)在為止我們已經(jīng)重新走了一遍Java的歷史軌跡。在這一部分,為了有一個(gè)總體的熟悉,讓我們來看一看Java發(fā)展的時(shí)間表。 (版本號(hào) 名稱 中文名 發(fā)布日期)



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁寿县| 阳泉市| 青铜峡市| 繁昌县| 安岳县| 宜丰县| 双柏县| 南川市| 梅河口市| 江油市| 维西| 新余市| 正蓝旗| 青浦区| 驻马店市| 齐齐哈尔市| 辰溪县| 灵寿县| 潜江市| 个旧市| 邵阳县| 南雄市| 南城县| 高平市| 石门县| 五峰| 郁南县| 佛教| 长乐市| 阿克| 西乌珠穆沁旗| 鹤壁市| 中西区| 长泰县| 金湖县| 肥东县| 玉林市| 定襄县| 阿巴嘎旗| 方正县| 高要市|