
Java是一門面向?qū)ο?/span>編程語言,不僅吸收了C++語言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚摚试S程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
發(fā)展歷程
20世紀(jì)90年代,硬件領(lǐng)域出現(xiàn)了單片式計(jì)算機(jī)系統(tǒng),這種價(jià)格低廉的系統(tǒng)一出現(xiàn)就立即引起了自動(dòng)控制領(lǐng)域人員的注意,因?yàn)槭褂盟梢源蠓忍嵘M(fèi)類電子產(chǎn)品(如電視機(jī)頂盒、面包烤箱、移動(dòng)電話等)的智能化程度。Sun公司為了搶占市場(chǎng)先機(jī),在1991年成立了一個(gè)稱為Green的項(xiàng)目小組,帕特里克、詹姆斯·高斯林、麥克·舍林丹和其他幾個(gè)工程師一起組成的工作小組在加利福尼亞州門洛帕克市沙丘路的一個(gè)小工作室里面研究開發(fā)新技術(shù),專攻計(jì)算機(jī)在家電產(chǎn)品上的嵌入式應(yīng)用。
由于C++所具有的優(yōu)勢(shì),該項(xiàng)目組的研究人員首先考慮采用C++來編寫程序。但對(duì)于硬件資源極其匱乏的單片式系統(tǒng)來說,C++程序過于復(fù)雜和龐大。另外由于消費(fèi)電子產(chǎn)品所采用的嵌入式處理器芯片的種類繁雜,如何讓編寫的程序跨平臺(tái)運(yùn)行也是個(gè)難題。為了解決困難,他們首先著眼于語言的開發(fā),假設(shè)了一種結(jié)構(gòu)簡(jiǎn)單、符合嵌入式應(yīng)用需要的硬件平臺(tái)體系結(jié)構(gòu)并為其制定了相應(yīng)的規(guī)范,其中就定義了這種硬件平臺(tái)的二進(jìn)制機(jī)器碼指令系統(tǒng)(即后來成為“字節(jié)碼”的指令系統(tǒng)),以待語言開發(fā)成功后,能有半導(dǎo)體芯片生產(chǎn)商開發(fā)和生產(chǎn)這種硬件平臺(tái)。對(duì)于新語言的設(shè)計(jì),Sun公司研發(fā)人員并沒有開發(fā)一種全新的語言,而是根據(jù)嵌入式軟件的要求,對(duì)C++進(jìn)行了改造,去除了留在C++的一些不太實(shí)用及影響安全的成分,并結(jié)合嵌入式系統(tǒng)的實(shí)時(shí)性要求,開發(fā)了一種稱為Oak的面向?qū)ο笳Z言。
由于在開發(fā)Oak語言時(shí),尚且不存在運(yùn)行字節(jié)碼的硬件平臺(tái),所以為了在開發(fā)時(shí)可以對(duì)這種語言進(jìn)行實(shí)驗(yàn)研究,他們就在已有的硬件和軟件平臺(tái)基礎(chǔ)上,按照自己所指定的規(guī)范,用軟件建設(shè)了一個(gè)運(yùn)行平臺(tái),整個(gè)系統(tǒng)除了比C++更加簡(jiǎn)單之外,沒有什么大的區(qū)別。1992年的夏天,當(dāng)Oak語言開發(fā)成功后,研究者們向硬件生產(chǎn)商進(jìn)行演示了Green操作系統(tǒng)、Oak的程序設(shè)計(jì)語言、類庫和其硬件,以說服他們使用Oak語言生產(chǎn)硬件芯片,但是,硬件生產(chǎn)商并未對(duì)此產(chǎn)生極大的熱情。因?yàn)樗麄冋J(rèn)為,在所有人對(duì)Oak語言還一無所知的情況下,就生產(chǎn)硬件產(chǎn)品的風(fēng)險(xiǎn)實(shí)在太大了,所以O(shè)ak語言也就因?yàn)槿狈τ布闹С侄鵁o法進(jìn)入市場(chǎng),從而被擱置了下來。
1994年6、7月間,在經(jīng)歷了一場(chǎng)歷時(shí)三天的討論之后,團(tuán)隊(duì)決定再一次改變了努力的目標(biāo),這次他們決定將該技術(shù)應(yīng)用于萬維網(wǎng)。他們認(rèn)為隨著Mosaic瀏覽器的到來,因特網(wǎng)正在向同樣的高度互動(dòng)的遠(yuǎn)景演變,而這一遠(yuǎn)景正是他們?cè)谟芯電視網(wǎng)中看到的。作為原型,帕特里克·諾頓寫了一個(gè)小型萬維網(wǎng)瀏覽器WebRunner。
1995年,互聯(lián)網(wǎng)的蓬勃發(fā)展給了Oak機(jī)會(huì)。業(yè)界為了使死板、單調(diào)的靜態(tài)網(wǎng)頁能夠“靈活”起來,急需一種軟件技術(shù)來開發(fā)一種程序,這種程序可以通過網(wǎng)絡(luò)傳播并且能夠跨平臺(tái)運(yùn)行。于是,世界各大IT企業(yè)為此紛紛投入了大量的人力、物力和財(cái)力。這個(gè)時(shí)候,Sun公司想起了那個(gè)被擱置起來很久的Oak,并且重新審視了那個(gè)用軟件編寫的試驗(yàn)平臺(tái),由于它是按照嵌入式系統(tǒng)硬件平臺(tái)體系結(jié)構(gòu)進(jìn)行編寫的,所以非常小,特別適用于網(wǎng)絡(luò)上的傳輸系統(tǒng),而Oak也是一種精簡(jiǎn)的語言,程序非常小,適合在網(wǎng)絡(luò)上傳輸。Sun公司首先推出了可以嵌入網(wǎng)頁并且可以隨同網(wǎng)頁在網(wǎng)絡(luò)上傳輸?shù)?/span>Applet(Applet是一種將小程序嵌入到網(wǎng)頁中進(jìn)行執(zhí)行的技術(shù)),并將Oak更名為Java(在申請(qǐng)注冊(cè)商標(biāo)時(shí),發(fā)現(xiàn)Oak已經(jīng)被人使用了,再想了一系列名字之后,最終,使用了提議者在喝一杯Java咖啡時(shí)無意提到的Java詞語)。5月23日,Sun公司在Sun world會(huì)議上正式發(fā)布Java和HotJava瀏覽器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微軟等各大公司都紛紛停止了自己的相關(guān)開發(fā)項(xiàng)目,競(jìng)相購買了Java使用許可證,并為自己的產(chǎn)品開發(fā)了相應(yīng)的Java平臺(tái)。
1996年1月,Sun公司發(fā)布了Java的第一個(gè)開發(fā)工具包(JDK 1.0),這是Java發(fā)展歷程中的重要里程碑,標(biāo)志著Java成為一種獨(dú)立的開發(fā)工具。9月,約8.3萬個(gè)網(wǎng)頁應(yīng)用了Java技術(shù)來制作。10月,Sun公司發(fā)布了Java平臺(tái)的第一個(gè)即時(shí)(JIT)編譯器。
1997年2月,JDK 1.1面世,在隨后的3周時(shí)間里,達(dá)到了22萬次的下載量。4月2日,Java One會(huì)議召開,參會(huì)者逾一萬人,創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之紀(jì)錄。9月,Java Developer Connection社區(qū)成員超過10萬。
1998年12月8日,第二代Java平臺(tái)的企業(yè)版J2EE發(fā)布。1999年6月,Sun公司發(fā)布了第二代Java平臺(tái)(簡(jiǎn)稱為Java2)的3個(gè)版本:J2ME(Java2 Micro Edition,Java2平臺(tái)的微型版),應(yīng)用于移動(dòng)、無線及有限資源的環(huán)境;J2SE(Java 2 Standard Edition,Java 2平臺(tái)的標(biāo)準(zhǔn)版),應(yīng)用于桌面環(huán)境;J2EE(Java 2Enterprise Edition,Java 2平臺(tái)的企業(yè)版),應(yīng)用于基于Java的應(yīng)用服務(wù)器。Java 2平臺(tái)的發(fā)布,是Java發(fā)展過程中最重要的一個(gè)里程碑,標(biāo)志著Java的應(yīng)用開始普及。
1999年4月27日,HotSpot虛擬機(jī)發(fā)布。HotSpot虛擬機(jī)發(fā)布時(shí)是作為JDK 1.2的附加程序提供的,后來它成為了JDK 1.3及之后所有版本的Sun JDK的默認(rèn)虛擬機(jī)。
2000年5月,JDK1.3、JDK1.4和J2SE1.3相繼發(fā)布,幾周后其獲得了Apple公司Mac OS X的工業(yè)標(biāo)準(zhǔn)的支持。2001年9月24日,J2EE1.3發(fā)布。2002年2月26日,J2SE1.4發(fā)布。自此Java的計(jì)算能力有了大幅提升,與J2SE1.3相比,其多了近62%的類和接口。在這些新特性當(dāng)中,還提供了廣泛的XML支持、安全套接字(Socket)支持(通過SSL與TLS協(xié)議)、全新的I/OAPI、正則表達(dá)式、日志與斷言。2004年9月30日,J2SE1.5發(fā)布,成為Java語言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE 1.5更名為Java SE 5.0(內(nèi)部版本號(hào)1.5.0),代號(hào)為“Tiger”,Tiger包含了從1996年發(fā)布1.0版本以來的最重大的更新,其中包括泛型支持、基本類型的自動(dòng)裝箱、改進(jìn)的循環(huán)、枚舉類型、格式化I/O及可變參數(shù)。
2005年6月,在Java One大會(huì)上,Sun公司發(fā)布了Java SE 6。此時(shí),Java的各種版本已經(jīng)更名,已取消其中的數(shù)字2,如J2EE更名為JavaEE,J2SE更名為JavaSE,J2ME更名為JavaME。
2006年11月13日,Java技術(shù)的發(fā)明者Sun公司宣布,將Java技術(shù)作為免費(fèi)軟件對(duì)外發(fā)布。Sun公司正式發(fā)布的有關(guān)Java平臺(tái)標(biāo)準(zhǔn)版的第一批源代碼,以及Java迷你版的可執(zhí)行源代碼。從2007年3月起,全世界所有的開發(fā)人員均可對(duì)Java源代碼進(jìn)行修改。
2009年,甲骨文公司宣布收購Sun。2010年,Java編程語言的共同創(chuàng)始人之一詹姆斯·高斯林從Oracle公司辭職。2011年,甲骨文公司舉行了全球性的活動(dòng),以慶祝Java7的推出,隨后Java7正式發(fā)布。2014年,甲骨文公司發(fā)布了Java8正式版
本文由培訓(xùn)無憂網(wǎng)長沙牛耳教育專屬課程顧問整理發(fā)布,希望能夠?qū)ο雲(yún)⒓娱L沙Java培訓(xùn)班的學(xué)生有所幫助。更多Java培訓(xùn)課程資訊歡迎關(guān)注培訓(xùn)無憂網(wǎng)Java培訓(xùn)頻道或添加老師微信:1503333605010.
注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://www.dedgn.cn/news-id-3538.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注java培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050