我們學(xué)習(xí)并且了解java語(yǔ)言,也知道最開(kāi)始Java上是由sun公司開(kāi)發(fā)的語(yǔ)言,那我們是否知道現(xiàn)在由哪個(gè)公司開(kāi)發(fā)呢?Java現(xiàn)在是如此的受歡迎,那么Java的發(fā)展又是怎么樣的變化呢?
Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言和Java平臺(tái)的總稱。由James Gosling和同事們共同研發(fā),并在1995年正式推出。然而在2009年04月20日,甲骨文(Oracle)公司以74億美元收購(gòu)Sun。取得java的版權(quán)。
Java語(yǔ)言的發(fā)展進(jìn)程:
Java語(yǔ)言的誕生具有一定的戲劇性,它并不是經(jīng)過(guò)精心的策劃、制作,最后產(chǎn)生的劃時(shí)代產(chǎn)品,從某種角度來(lái)看,java語(yǔ)言的誕生完全是一種誤會(huì)。這又是怎么說(shuō)呢?
1990年年末,Sun公司預(yù)料嵌入式系統(tǒng)將在未來(lái)家用電器領(lǐng)域大顯身手。于是Sun公司成立了一個(gè)由James Gosling領(lǐng)導(dǎo)的“Green計(jì)劃 ”,準(zhǔn)備為下一代智能家電(電視機(jī)、微波爐、電話)編寫(xiě)一個(gè)通用控制系統(tǒng)。
該團(tuán)隊(duì)最初考慮使用C++語(yǔ)言,但是很多成員包括Sun的首席科學(xué)家Bill Joy,發(fā)現(xiàn)C++和可用的API在某些方面存在很大的問(wèn)題。而且工作小組使用的是嵌入式平臺(tái),可用的系統(tǒng)資源極其有限。并且很多成員都發(fā)現(xiàn)C++太復(fù)雜,以致很多開(kāi)發(fā)者經(jīng)常錯(cuò)誤使用。而且C++缺少垃圾回收系統(tǒng)、可移植性、分布式和多線程等功能。
根據(jù)可用的資金,Bill Joy 決定開(kāi)發(fā)一種新語(yǔ)言,他提議在C++的基礎(chǔ)上,開(kāi)發(fā)一種面向?qū)ο蟮沫h(huán)境。于是,Gosling試圖通過(guò)修改和擴(kuò)展C++的功能來(lái)滿足這個(gè)要求,但是后來(lái)他放棄了。他決定創(chuàng)造一種全新的語(yǔ)言:Oak.(他們都具有不將就的精神、在開(kāi)發(fā)某一項(xiàng)科技的時(shí)候得具有資金的支持以及各種創(chuàng)新精神)
到了1992年的夏天,Green計(jì)劃已經(jīng)完成了新平臺(tái)的部分功能,包括Green操作系統(tǒng)。Oak的程序設(shè)計(jì)語(yǔ)言、類庫(kù)等。同年11月,Green計(jì)劃被轉(zhuǎn)化成“FirstPerson有限公司”,一個(gè)Sun公司的全資子公司。
FirstPerson團(tuán)隊(duì)致力于創(chuàng)建一種高度互動(dòng)的設(shè)備。當(dāng)時(shí)代華納公司發(fā)布了一個(gè)關(guān)于電視機(jī)頂盒的征求提議書(shū)時(shí),F(xiàn)irstPerson團(tuán)隊(duì)改變了他們的目標(biāo),作為對(duì)征求提議書(shū)的響應(yīng),提出了一個(gè)機(jī)頂盒平臺(tái)的提議。但是有線電視業(yè)界覺(jué)得FirstPerson的平臺(tái)給予用戶過(guò)多的控制權(quán),因此FirstPerson的投標(biāo)敗給了SGI。同時(shí),3DO公司另外一筆關(guān)于機(jī)頂盒的交易沒(méi)有成功。此時(shí),可憐的Green項(xiàng)目幾乎接近夭折,甚至Green項(xiàng)目的一半成員也被調(diào)到了其他的項(xiàng)目組。
正如中國(guó)古代的寓言所言:塞翁失馬,焉知非福?如果Green項(xiàng)目在機(jī)頂盒平臺(tái)投標(biāo)成功,也許就不會(huì)誕生Java這門(mén)偉大的語(yǔ)言了。
1994年夏天,互聯(lián)網(wǎng)和瀏覽器的出現(xiàn)不僅給廣大互聯(lián)網(wǎng)的用戶帶來(lái)了福音,也給Oak語(yǔ)言帶來(lái)了新的生機(jī)。Gosling立即意識(shí)到,這是一個(gè)機(jī)會(huì),于是對(duì)Oak進(jìn)行了小規(guī)模的改造,到了1994年秋,小組中的Naughton和Jonathan Payne完成了第一個(gè)Java語(yǔ)言的網(wǎng)頁(yè)瀏覽器:WebRunner.Sun公司實(shí)驗(yàn)室主任Bert Sutherland 和技術(shù)總監(jiān)Eric Schmict 觀看了該瀏覽器的演示,對(duì)該瀏覽器的效果給予了高度評(píng)價(jià)。當(dāng)時(shí)的Oak這個(gè)商品已經(jīng)被注冊(cè),于是只得將Oak更名為Java.
Sun公司在1995年年初發(fā)布了Java語(yǔ)言,Sun公司直接把Java放到互聯(lián)網(wǎng)上,免費(fèi)給大家使用,甚至連源代碼也不保密,也放到互聯(lián)網(wǎng)上向所有人公開(kāi)。
幾個(gè)月后,讓所有人都吃驚的事情發(fā)生了:Java成了互聯(lián)網(wǎng)上最熱門(mén)的寶貝。竟然有10萬(wàn)多人次訪問(wèn)了Sun公司的網(wǎng)頁(yè),下載了Java語(yǔ)言。然后,互聯(lián)網(wǎng)上立即就有了數(shù)不清的Java小程序(也就Applet),演示著各種小動(dòng)畫(huà)、小游戲等。
Java 語(yǔ)言終于眼眉吐氣了 ,成為了一種廣為人知的編程語(yǔ)言。
在Java語(yǔ)言出現(xiàn)之前,互聯(lián)網(wǎng)的網(wǎng)頁(yè)實(shí)質(zhì)上就像一張紙,不會(huì)有任何動(dòng)態(tài)的內(nèi)容。有了Java語(yǔ)言之后,瀏覽器的功能被擴(kuò)大了,Java程序可以直接在瀏覽器里運(yùn)行,可以直接與遠(yuǎn)程服務(wù)器交互:用Java語(yǔ)言編程,可以在互聯(lián)網(wǎng)上像傳送電子郵件一樣方便地傳送程序文件!
1995年,Sun雖然推出了Java,但這只是一種語(yǔ)言,如果想開(kāi)發(fā)復(fù)雜的應(yīng)用程序,必須要有一個(gè)強(qiáng)大的開(kāi)發(fā)類庫(kù)。因此,Sun在1996年年初 發(fā)布了JDK1.0.這個(gè)版本包括兩部分:運(yùn)行環(huán)境(即JRE)和開(kāi)發(fā)環(huán)境(即JDK).運(yùn)行環(huán)境包括核心API、集成API、用戶界面API、發(fā)布技術(shù)、Java虛擬機(jī)(JVM)5個(gè)部分;開(kāi)發(fā)環(huán)境包括編譯Java程序的編譯器(即Javac命令)。
接著,Sun在1997年2月18日發(fā)布了JDK1.1。JDK1.1增加了JIT(即時(shí)編譯)編譯器。JIT和傳統(tǒng)的編譯器不同,傳統(tǒng)的編譯器是編譯一條,運(yùn)行完成后將其扔掉;而JIT會(huì)將經(jīng)常用到的指令保存在內(nèi)存中,當(dāng)下調(diào)用時(shí)就不需要重新編譯了,通過(guò)這種方式讓JDK在效率上有了較大提升。
但一直以來(lái),Java主要的應(yīng)用就是網(wǎng)頁(yè)上的Applet以及一些移動(dòng)設(shè)備。到了1996年年底,F(xiàn)lash面世了,這是一種更加簡(jiǎn)單的動(dòng)畫(huà)設(shè)計(jì)軟件:使用Flash幾乎無(wú)須任何編程語(yǔ)言知識(shí),就可以做出豐富多彩的動(dòng)畫(huà)。隨后Flash增加了Actionscript編程腳本,F(xiàn)lash逐漸蠶食了Java在網(wǎng)頁(yè)上有了較大提升。
從1995年Java誕生到1998年年底,Java語(yǔ)言雖然成為了互聯(lián)網(wǎng)上廣泛使用的編程語(yǔ)言,但它并沒(méi)有找到一個(gè)準(zhǔn)確的定位,也沒(méi)有找到它必須存在的理由:Java語(yǔ)言可以編寫(xiě)Applet,而Flash一樣可以做到,而且更快,開(kāi)發(fā)成本更低。
直到1998年12月,Sun發(fā)布了Java歷史上最重要的JDK版本:JDK1.2,伴隨著JDK1.2一同發(fā)布的還有JSP/Servlet、EJB等規(guī)范,并將Java分成J2EE、J2SE和J2ME三個(gè)版本。
J2ME:主要用于控制移動(dòng)設(shè)備和信息家電等有限存儲(chǔ)的設(shè)備。
J2SE:整個(gè)Java技術(shù)的核心和基礎(chǔ),它是J2ME、J2EE編程的基礎(chǔ),
J2EE:Java技術(shù)中應(yīng)用最廣泛的部分,J2EE提供了企業(yè)應(yīng)用開(kāi)發(fā)相關(guān)的完整解決方案。這標(biāo)志著Java已經(jīng)吹響了向企業(yè)、桌面和移動(dòng)三個(gè)領(lǐng)域進(jìn)軍的號(hào)角,標(biāo)志著Java已經(jīng)進(jìn)入Java2時(shí)代,這個(gè)時(shí)期也是Java飛速發(fā)展的時(shí)期。
在Java2中,Java發(fā)生了很多革命性的變化,而這些革命性的變化一直沿用到現(xiàn)在,對(duì)于Java的發(fā)展形成了深遠(yuǎn)的影響。知道今天還經(jīng)??吹絁2EE、J2ME等名稱。
不僅如此,JDK1.2還把它的API分成了三類。
核心API:由Sun公司制定的基本的API,所有的Java平臺(tái)都應(yīng)該提供。這就是平常所說(shuō)的Java核心類庫(kù)。
可選API:這是Sun為JDK提供的擴(kuò)充API,這些API因平臺(tái)的不同而不同。
特殊API:用于滿足特殊要求的API。如用于JCA和JCE等第三方加密類庫(kù)。
2002年,Sun發(fā)布了JDK歷史上最成熟的版本:JDK1.4成為發(fā)展最快的一個(gè)JDK版本。JDK1.4已經(jīng)可以使用Java實(shí)現(xiàn)大多數(shù)的應(yīng)用了。
在此期間,Java語(yǔ)言在企業(yè)應(yīng)用領(lǐng)域大放異彩,涌現(xiàn)出大量基于java語(yǔ)言的開(kāi)源框架 :Struts、WebWork、Hibernate、Spring等;大量企業(yè)應(yīng)用服務(wù)器也開(kāi)始涌現(xiàn):WebLogic、WebSphere、JBoss等,這些都標(biāo)志著Java語(yǔ)言進(jìn)入了飛速發(fā)展時(shí)期。
2004年10月,Sun發(fā)布了萬(wàn)眾期待的JDK1.5,同時(shí),Sun將JDK1.5改名為Java SE5.0,J2EE、J2ME也相應(yīng)地改名為Java EE和Java ME。JDK1.5增加了諸如泛型、增強(qiáng)的for語(yǔ)句、可變數(shù)量的形參、注釋、自動(dòng)拆箱和裝箱等功能;同時(shí),也發(fā)布了新的企業(yè)級(jí)平臺(tái)規(guī)范,如通過(guò)注釋等新特性來(lái)簡(jiǎn)化EJB的復(fù)雜性,并推出了自己的MVC框架規(guī)范:JSF,JSF規(guī)范類似于ASP.NET的服務(wù)器端控件,通過(guò)它可以快速地構(gòu)建復(fù)雜的JSP界面。
2006年12月,Sun公司發(fā)布了JDK1.6(也被稱為Java EE 6)。一直以來(lái),Sun公司維持著大約2年發(fā)布一次JDK新版本的習(xí)慣。
但在2009年4月20日,Oracle宣布將收購(gòu)Sun公司。Sun倒下了,不過(guò)Java的大旗依然獵獵作響。2011年7月28日,Oracle公司終于"如約" 發(fā)布了 Java SE 7——這次版本的升級(jí)經(jīng)過(guò)了將近5年時(shí)間。Java SE 7也是Oracle發(fā)布的第一個(gè)Java版本,引入了二進(jìn)制整數(shù)、支持字符串的switch語(yǔ)句、棱形語(yǔ)法、多異常捕抓、自動(dòng)關(guān)閉資源的try語(yǔ)言等新特性。
2014年3月18日,Oracle公司發(fā)不了Java SE8,這次版本升級(jí)為Java帶來(lái)了全新的Lambda表達(dá)式、流式編程等大量新特性,這些新特性使得Java變得更加強(qiáng)大。
2017年9月22日,Oracle公司發(fā)布了Java SE 9,這次版本升級(jí)強(qiáng)化了Java的模塊化系統(tǒng),讓龐大的Java語(yǔ)言更輕量化,而且采用了更高效、更智能的GI 垃圾回收器,并在核心類庫(kù)上進(jìn)行了大量更新,可以進(jìn)一步簡(jiǎn)化編程;但對(duì)語(yǔ)法本身更新并不多(畢竟Java語(yǔ)言已經(jīng)足夠成熟)。
以上就是有關(guān)Java語(yǔ)言的介紹,是不是有種不一樣的收獲呢?是否知道為什么Java語(yǔ)言現(xiàn)在是絕大多數(shù)企業(yè)的開(kāi)發(fā)語(yǔ)言呢?更多知識(shí),請(qǐng)繼續(xù)關(guān)注本站。
本文鏈接:
本文章“java語(yǔ)言現(xiàn)在由哪個(gè)公司開(kāi)發(fā)Java語(yǔ)言的發(fā)展過(guò)程如何”已幫助 82 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開(kāi)班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579