• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 71,  comments - 41,  trackbacks - 0
            2006.12.19??來自:luap
            從JDK誕生到現(xiàn)在已經有11年的時間了。滄海桑田一瞬間。轉眼11年過去了,JDK已經發(fā)布了6個版本。在這11年里誕生了無數和Java相關的技術和標準。現(xiàn)在讓我們進入時間隧道,重新回到1995年,再來回顧一下Java的發(fā)展軌跡和歷史變遷。

              一、 JDK前傳

              在這個世界上,熟悉Java歷史的人非常多,如果要問一個人Java是從哪年誕生的,也許大多數人都會回答是1995年(這個非常好記,因為微軟的Windows95也是在這一年發(fā)布的)。但事實上Java早在上個世紀90年代初就開始醞釀了。

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

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

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




              圖1 Java創(chuàng)始人 James Gosling博士

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

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

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

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

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

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

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

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

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

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

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

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

              可選API
              這是Sun為JDK提供的擴充API,這些API因平臺的不同而不同。
            ?
              特殊API
              用于滿足特殊要求的API。如用于JCA和JCE的第三方加密類庫。

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

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

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

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

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

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

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

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

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

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

              到今年年底Sun也再接再厲地推出了J2SE6.0的測試版,預計在2007年初將推出它的正式版。

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

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

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

            ? 到現(xiàn)在為止我們已經重新走了一遍Java的歷史軌跡。在這一部分,為了有一個總體的認識,讓我們來看一看Java發(fā)展的時間表。 (版本號 名稱 中文名 發(fā)布日期)

            JDK 1.1.4
            Sparkler
            寶石
            1997-09-12

            JDK 1.1.5
            Pumpkin
            南瓜
            1997-12-13

            JDK 1.1.6
            Abigail
            阿比蓋爾--女子名
            1998-04-24

            JDK 1.1.7
            Brutus
            布魯圖--古羅馬政治家和將軍
            1998-09-28

            JDK 1.1.8
            Chelsea
            切爾西--城市名
            1999-04-08

            J2SE 1.2
            Playground
            運動場
            1998-12-04

            J2SE 1.2.1
            none

            1999-03-30

            J2SE 1.2.2
            Cricket
            蟋蟀
            1999-07-08

            J2SE 1.3
            Kestrel
            美洲紅隼
            2000-05-08

            J2SE 1.3.1
            Ladybird
            瓢蟲
            2001-05-17

            J2SE 1.4.0
            Merlin
            灰背隼
            2002-02-13

            J2SE 1.4.1
            grasshopper
            蚱蜢
            2002-09-16

            J2SE 1.4.2
            Mantis
            螳螂
            2003-06-26

            J2SE 5.0 (1.5.0)
            Tiger
            老虎
            2004-10

            J2SE 6.0 (Beta)
            Mustang
            野馬
            2006-04

              從這個表中我們可以看出一個非常有意思的現(xiàn)象,就是JDK的每一個版本號都使用一個開發(fā)代號表示(就是表中的中文名)。而且從JDK1.2.2開始,主要版本(如1.3,1.4,5.0)都是以鳥類或哺乳動物來命名的. 而它們的bug修正版本(如1.2.2,1.3.1,1.4.2)都是以昆蟲命名的。

              六、Java的未來10年

              在2005年的Java One開發(fā)者大會上,James Gosling作了題為“Java技術下一個10年貢獻”的演講。談到未來Java的發(fā)展時,James Gosling提到了有關Java軟件的性能和復雜性問題。鑒于許多機器運行著大量進程的實際情況,人們對線程模型投以越來越多的關注。

              隨著人們對桌面應用的要求越來越高,系統(tǒng)將變得越來越復雜。他指出: “從工程的角度來看,未來10年內我們所面臨的最大挑戰(zhàn)就是復雜性問題,” James Gosling說, “目前,我們開展了許多工作以解決應用編程接口、語言以及工具中所涉及的復雜性問題。在工具和用戶界面(UI)中都會遇到復雜性問題,Java技術設計人員必須處理好大小尺寸調整和國際化的問題。”

              在這次大會上,James Gosling還同Java技術先驅,現(xiàn)任Kleiner, Perkins Caulfield and Byers合伙人的Bill Joy先生,Sun公司首席科學家John Gage先生,未來研究所主任Paul Saffo先生,Sun杰出工程師Guy Steele先生以及Applied Mindes公司主席及首席技術官Danny Hillis先生等一起探討了討論Java語言的過去和未來發(fā)展情況。

              他們認為,Java技術提高了計算的“流動性”,就如同貨幣的發(fā)明提高了商品的流動性一樣。無所不在的網絡豐富了每個人的信息,就如同可以兌換的貨幣產生了財富一樣。由于從前的網絡是很慢的,所以計算被束縛在特定的計算機上,而這種情況將一去不復返了。

              目前,全球Java開發(fā)人員已經超過450萬,而與之相對應的是Java社區(qū)充滿活力和創(chuàng)新精神,這正是Java下一個10年更加繁榮的保障。為了保持Java的增長和推進Java社區(qū)的參與, Sun在Java One開發(fā)者大會上宣布開放Java核心源代碼,以鼓勵更多的人參與到社團活動中來,這是Sun為推進社團發(fā)展和維護Java技術兼容性而邁出的重要一步。

              Sun公司總裁兼首席運營官Jonathan Schwartz先生指出,來自Java社團和IBM等全球技術合作伙伴兩方面的支持,乃是Java技術在創(chuàng)新和社會進步上繼續(xù)發(fā)揮重要作用的強有力的標志。技術開放和社團建設降低了技術應用的壁壘,其結果是為參與和增長創(chuàng)造了更多的商機,這就形成了價值上千億美元的Java產業(yè)。

              有很多人認為Java開源后,在眾多開發(fā)人員的參與之下,Java會變得更加強大。隨著Java和IT業(yè)界的關系變得更加緊密,Sun公司也將更容易賣出自己兼容Java良好的WEB服務器和操作系統(tǒng)。這個舉動將會給軟件開發(fā)群體帶來新的活力,改善Sun公司的公眾形象,并同時證明Sun可以成為一個開源社會的“良民”。

              隨著Java的開源,Java的未來似乎變得更加明朗。在未來,Java的應用范圍有可能變得更廣。Sun董事長麥克里尼在2006年的JavaOne會議上說,“全球有3/4的人還不能接入Internet,這對Java技術伙伴來說是一個巨大的經濟機會。瘦客戶機、微小的傳感器以及其它Java驅動的小裝置,可以幫助我們改善人們的生活。他希望Java社區(qū)通過他們的工作能夠彌合數字鴻溝”。

              Sun認為,數字媒體將是Java的下一個重點市場,同時,教育和健康將是未來Java發(fā)展過程中的兩大重點應用領域。但愿Java的未來真能象Sun宣稱的那樣,成為我們未來生活的一部分。
            posted on 2006-12-26 09:02 Charles 閱讀(170) 評論(0)  編輯 收藏 引用 所屬分類: 拿來主義
            <2006年12月>
            262728293012
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            決定開始寫工作日記,記錄一下自己的軌跡...

            常用鏈接

            留言簿(4)

            隨筆分類(70)

            隨筆檔案(71)

            charles推薦訪問

            搜索

            •  

            積分與排名

            • 積分 - 50447
            • 排名 - 449

            最新評論

            閱讀排行榜

            評論排行榜

            2021国产成人精品久久| 久久精品国产亚洲av水果派 | 亚洲精品国产第一综合99久久| 久久久中文字幕日本| 久久久久久一区国产精品| 波多野结衣久久一区二区| 久久久久高潮毛片免费全部播放| 久久国产高潮流白浆免费观看| 欧美久久综合性欧美| 久久香综合精品久久伊人| 天天综合久久久网| 偷偷做久久久久网站| 99久久精品费精品国产| 亚洲午夜久久久久妓女影院| 久久婷婷国产综合精品| 品成人欧美大片久久国产欧美...| 久久中文字幕人妻熟av女| 99热热久久这里只有精品68| 久久天天躁狠狠躁夜夜不卡| 色综合久久天天综合| 精品国产乱码久久久久软件| 国产精品久久久久久久久久免费| 国产成人精品综合久久久| 久久99久久无码毛片一区二区| 性欧美大战久久久久久久久| 一级A毛片免费观看久久精品| 国产精自产拍久久久久久蜜| 久久精品aⅴ无码中文字字幕重口| 亚洲国产精品成人久久蜜臀| 国产精品久久久久久久午夜片 | 一本一道久久综合狠狠老| 久久精品国产99久久香蕉| 久久99精品国产99久久| 无码专区久久综合久中文字幕| 午夜视频久久久久一区 | 亚洲国产精品久久久久久| 久久久久亚洲AV片无码下载蜜桃| 久久精品国产久精国产一老狼| 久久天天躁狠狠躁夜夜2020一| 久久久久久午夜精品| 97精品依人久久久大香线蕉97|