Java,是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,由升陽(yáng)(Sun Microsystems)公司的詹姆斯·高斯林(James Gosling)等人于1990年代初開(kāi)發(fā)。它最初被命名為Oak,目標(biāo)設(shè)定在家用電器等小型系統(tǒng)的編程語(yǔ)言,來(lái)解決諸如電視機(jī)、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通訊問(wèn)題。由于這些智能化家電的市場(chǎng)需求沒(méi)有預(yù)期的高,Sun放棄了該項(xiàng)計(jì)劃。就在Oak幾近失敗之時(shí),隨著互聯(lián)網(wǎng)的發(fā)展,Sun看到了Oak在計(jì)算機(jī)網(wǎng)絡(luò)上的廣闊應(yīng)用前景,于是改造了Oak,在1995年5月以“Java”的名稱正式發(fā)布了。Java伴隨著互聯(lián)網(wǎng)的迅猛發(fā)展而發(fā)展,逐漸成為重要的網(wǎng)絡(luò)編程語(yǔ)言。 Oracle收購(gòu)Sun背后 Solaris前途未卜 。 糾錯(cuò) 編輯摘要
Java 編程語(yǔ)言的風(fēng)格十分接近C、C++ 語(yǔ)言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C++ 語(yǔ)言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C ++語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java SE 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱等語(yǔ)言特性。 Java 不同于一般的編譯執(zhí)行計(jì)算機(jī)語(yǔ)言和解釋執(zhí)行計(jì)算機(jī)語(yǔ)言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來(lái)解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過(guò),每次的編譯執(zhí)行需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效率。但在 J2SE 1.4.2 發(fā)布后,Java 的執(zhí)行速度有了大幅提升。 與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開(kāi)放的技術(shù)。全球數(shù)以萬(wàn)計(jì)的 Java 開(kāi)發(fā)公司被要求所設(shè)計(jì)的 Java 軟件必須相互兼容。“Java 語(yǔ)言靠群體的力量而非公司的力量”是 Sun 公司的口號(hào)之一,并獲得了廣大軟件開(kāi)發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。 Sun 公司對(duì) Java 編程語(yǔ)言的解釋是:Java 編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語(yǔ)言。 Java 平臺(tái)是基于 Java 語(yǔ)言的平臺(tái)。這樣的平臺(tái)目前非常流行,因此微軟公司推出了與之競(jìng)爭(zhēng)的.NET平臺(tái)以及模仿 Java 的 C# 語(yǔ)言。 一天,幾位Java成員組的會(huì)員正在討論給這個(gè)新的語(yǔ)言取什么名字,當(dāng)時(shí)他們正在咖啡館喝著Java(爪哇)咖啡,有一個(gè)人靈機(jī)一動(dòng)說(shuō)就叫Java怎樣,這個(gè)提議得到了其他人的贊同,于是,Java這個(gè)名字就這樣傳開(kāi)了。原來(lái)看SUN的JAVA標(biāo)識(shí)沒(méi)去多想,現(xiàn)在看看,這不就是一杯正冒著熱氣的咖啡嗎? 早期的Java “Stealth 計(jì)劃”后來(lái)改名為“Green計(jì)劃”,詹姆斯·高斯林和麥克·舍林丹也加入了帕特里克的工作小組。他們和其他幾個(gè)工程師一起在加利福尼亞州門羅帕克市沙丘路的一個(gè)小工作室里面研究開(kāi)發(fā)新技術(shù),瞄準(zhǔn)下一代智能家電(如微波爐)的程序設(shè)計(jì),升陽(yáng)公司預(yù)料未來(lái)科技將在家用電器領(lǐng)域大顯身手。團(tuán)隊(duì)最初考慮使用C 語(yǔ)言,但是很多成員包括升陽(yáng)的首席科學(xué)家比爾·喬伊,發(fā)現(xiàn)C 和可用的API在某些方面存在很大問(wèn)題。 工作小組使用的是內(nèi)嵌類型平臺(tái),可以用的資源極其有限。很多成員發(fā)現(xiàn)C 太復(fù)雜以至很多開(kāi)發(fā)者經(jīng)常錯(cuò)誤使用。他們發(fā)現(xiàn)C 缺少垃圾回收系統(tǒng),還有可移植的安全性、分布程序設(shè)計(jì)、和多線程功能。最后,他們想要一種易于移植到各種設(shè)備上的平臺(tái)。 根據(jù)可用的資金,比爾·喬伊決定開(kāi)發(fā)一種集C語(yǔ)言和Mesa語(yǔ)言大成的新語(yǔ)言,在一份報(bào)告上,喬伊把它叫做“未來(lái)”,他提議升陽(yáng)公司的工程師應(yīng)該在C 的基礎(chǔ)上,開(kāi)發(fā)一種面向?qū)ο蟮沫h(huán)境。最初,高斯林試圖修改和擴(kuò)展C 的功能,他自己稱這種新語(yǔ)言為 C --,但是后來(lái)他放棄了。他將要?jiǎng)?chuàng)造出一種全新的語(yǔ)言,被他命名為“Oak”(橡樹(shù)),以他的辦公室外的樹(shù)而命名。 就像很多開(kāi)發(fā)新技術(shù)的秘密的工程一樣,工作小組沒(méi)日沒(méi)夜地工作到了1992年的夏天,他們能夠演示新平臺(tái)的一部分了,包括Green操作系統(tǒng),Oak的程序設(shè)計(jì)語(yǔ)言,類庫(kù),和其硬件。最初的嘗試是面向一種類PDA設(shè)備,被命名為Star7,這種設(shè)備有鮮艷的圖形界面和被稱為“Duke”的智能代理來(lái)幫助用戶。1992年12月3日,這臺(tái)設(shè)備進(jìn)行了展示。 同年11月,Green計(jì)劃被轉(zhuǎn)化成了“FirstPerson有限公司”,一個(gè)升陽(yáng)公司的全資子公司,團(tuán)隊(duì)也被重新安排到了帕洛阿爾托。FirstPerson團(tuán)隊(duì)對(duì)建造一種高度互動(dòng)的設(shè)備感興趣,當(dāng)時(shí)代華納發(fā)布了一個(gè)關(guān)于電視機(jī)頂盒的征求提議書(shū)時(shí)(Request for proposal),F(xiàn)irstPerson改變了他們的目標(biāo),作為對(duì)征求意見(jiàn)書(shū)的響應(yīng), 提出了一個(gè)機(jī)頂盒平臺(tái)的提議。但是有線電視業(yè)界覺(jué)得FirstPerson的平臺(tái)給予用戶過(guò)多地控制權(quán),因此FirstPerson的投標(biāo)敗給了SGI。與3DO 公司的另外一筆關(guān)于機(jī)頂盒的交易也沒(méi)有成功,由于他們的平臺(tái)不能在電視工業(yè)產(chǎn)生任何效益,公司再并回升陽(yáng)公司。 JAVA遭遇互聯(lián)網(wǎng) 1994年6、7月間,在經(jīng)歷了一場(chǎng)歷時(shí)三天的頭腦風(fēng)暴的討論后,約翰·蓋吉、詹姆斯·高斯林、比爾·喬伊、帕特里克·諾頓、韋恩·羅斯因和埃里克·斯庫(kù)米,團(tuán)隊(duì)決定再一次改變了努力的目標(biāo),這次他們決定將該技術(shù)應(yīng)用于萬(wàn)維網(wǎng)。他們認(rèn)為隨著Mosaic瀏覽器的到來(lái),因特網(wǎng)正在向同樣的高度互動(dòng)的遠(yuǎn)景演變,而這一遠(yuǎn)景正是他們?cè)谟芯€電視網(wǎng)中看到的。作為原型,帕特里克·諾頓寫(xiě)了一個(gè)小型萬(wàn)維網(wǎng)瀏覽器,WebRunner,后來(lái)改名為HotJava。 同年,Oak改名為Java。商標(biāo)搜索顯示,Oak已被一家顯卡制造商注冊(cè),因此團(tuán)隊(duì)找到了一個(gè)新名字。這個(gè)名字是在很多成員常去的本地咖啡館中杜撰出來(lái)的。名字是不是首字母縮寫(xiě)還不清楚,很大程度上來(lái)說(shuō)不是。雖然有人聲稱是開(kāi)發(fā)人員名字的組合:James Gosling(詹姆斯·高斯林) Arthur Van Hoff(阿瑟·凡·霍夫) Andy Bechtolsheim(安迪·貝克托克姆),或“Just Another Vague Acronym”(只是另外一個(gè)含糊的縮寫(xiě))。還有一種比較可信的說(shuō)法是這個(gè)名字是出于對(duì)咖啡的喜愛(ài),所以以Java咖啡來(lái)命名。類文件的前四個(gè)字節(jié)如果用十六進(jìn)制閱讀的話,分別為CA FE BA BE, 就會(huì)拼出兩個(gè)單詞“CAFE BABE”(咖啡寶貝)。 1994年10月,HotJava和Java平臺(tái)為公司高層進(jìn)行演示。1994年,Java 1.0a版本已經(jīng)可以提供下載,但是Java和HotJava瀏覽器的第一次公開(kāi)發(fā)布卻是在1995年3月23日SunWorld大會(huì)上進(jìn)行的。升陽(yáng)公司的科學(xué)指導(dǎo)約翰·蓋吉宣告Java技術(shù)。這個(gè)發(fā)布是與網(wǎng)景公司的執(zhí)行副總裁馬克·安德森的驚人發(fā)布一起進(jìn)行的,宣布網(wǎng)景將在其瀏覽器中包含對(duì)Java的支持。1996年1月,升陽(yáng)公司成立了Java業(yè)務(wù)集團(tuán),專門開(kāi)發(fā)Java技術(shù)。 1、Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。
Java近況 在流行幾年之后,Java在瀏覽器中的地位被逐步侵蝕。它在簡(jiǎn)單交互性動(dòng)畫(huà)方面的用途已經(jīng)完全被Adobe公司的Flash排擠,2005年Java傾向只被用于雅虎游戲那樣的更為復(fù)雜的應(yīng)用程序。Java同時(shí)遭受到來(lái)自微軟的反對(duì),他們決定在新版本的Internet Explorer和Windows中不再附帶Java平臺(tái)。 與此相反。在萬(wàn)維網(wǎng)的服務(wù)器端和手持設(shè)備上,Java變得更加流行。很多網(wǎng)站在前端使用JSP和其他的Java技術(shù)。 在桌面系統(tǒng)上,獨(dú)立的Java程序還是相對(duì)少見(jiàn),這是因?yàn)镴ava平臺(tái)的運(yùn)行開(kāi)銷較大,而許多人的電腦上沒(méi)有安裝Java,由于網(wǎng)絡(luò)帶寬在以前較小,下載Java曾經(jīng)是個(gè)耗時(shí)的事情。但是隨著計(jì)算機(jī)計(jì)算能力、網(wǎng)絡(luò)帶寬在10年中取得了很大的進(jìn)步,同時(shí)虛擬機(jī)和編譯器的質(zhì)量得到了越高,許多應(yīng)用程序得到了廣泛的使用,包括: 開(kāi)源軟件: Java Platform, Enterprise Edition (Java EE:Java平臺(tái)企業(yè)版) 版本歷史(時(shí)間表) 1995年5月23日,Java語(yǔ)言誕生1996年1月,第一個(gè)JDK-JDK1.0誕生 1996年4月,10個(gè)最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入JAVA技術(shù) 1996年9月,約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用了JAVA技術(shù)來(lái)制作 1997年2月18日,JDK1.1發(fā)布 1997年4月2日,JavaOne會(huì)議召開(kāi),參與者逾一萬(wàn)人,創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之紀(jì)錄 1997年9月,JavaDeveloperConnection社區(qū)成員超過(guò)十萬(wàn) 1998年2月,JDK1.1被下載超過(guò)2,000,000次 1998年12月8日,JAVA2企業(yè)平臺(tái)J2EE發(fā)布 1999年6月,SUN公司發(fā)布Java的三個(gè)版本:標(biāo)準(zhǔn)版(J2SE)、企業(yè)版(J2EE)和微型版(J2ME) 2000年5月8日,JDK1.3發(fā)布 2000年5月29日,JDK1.4發(fā)布 2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機(jī) 2001年9月24日,J2EE1.3發(fā)布 2002年2月26日,J2SE1.4發(fā)布,自此Java的計(jì)算能力有了大幅提升 2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語(yǔ)言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0 2005年6月,JavaOne大會(huì)召開(kāi),SUN公司公開(kāi)Java SE 6。此時(shí),Java的各種版本已經(jīng)更名,以取消其中的數(shù)字“2”:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME 2006年12月,SUN公司發(fā)布JRE6.0 Java之所以被開(kāi)發(fā),是要達(dá)到以下五個(gè): 應(yīng)當(dāng)使用面向?qū)ο蟪绦蛟O(shè)計(jì)方法學(xué) |
|
來(lái)自: 小草qinqin > 《手機(jī)知識(shí)》