新聞中心
【觀察】其實(shí)這樣的危機(jī)對于Java來說已經(jīng)不是***次了,在上個(gè)世紀(jì)90年代后期,也就是Java剛剛出現(xiàn)不長時(shí)間就遇到了***次危機(jī)。當(dāng)時(shí)微軟為了跟SUN之間爭奪Java的事實(shí)標(biāo)準(zhǔn)權(quán),開發(fā)了自己特有的版本Visual J++,并與其VS系列開發(fā)套件結(jié)合在一起,還提供了專有的擴(kuò)展API。這一系列行為都背離了SUN對于Java規(guī)范的要求。這一紛爭導(dǎo)致SUN與微軟之間刻薄地批評對方,并對簿公堂。最用在2001年以SUN勝出結(jié)束,這也讓微軟徹底離開了Java陣營,從此與Java無緣。在該事件之后,也確立了Java的使用原則,那就是SUN持有Java的標(biāo)準(zhǔn)權(quán),無論哪個(gè)廠商,都必需遵守該標(biāo)準(zhǔn)。

10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有通城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在后來成立了的JCP組織,允許更多的廠商參與到Java的規(guī)范制定當(dāng)中。JCP組織的出現(xiàn),讓IBM、Oracle很眾多軟件廠商有機(jī)會(huì)參與到Java的發(fā)展當(dāng)中,使Java得到了十足的發(fā)展。如果當(dāng)時(shí)因?yàn)槲④浥cSUN之爭,導(dǎo)致Java標(biāo)準(zhǔn)分裂,就不會(huì)有今天的成就。
上一次危機(jī)已經(jīng)過去10多年,今天新的危機(jī)有出現(xiàn)了。歷史又一次重演。前幾天VMWare與Google發(fā)表聲明,一起進(jìn)軍云計(jì)算領(lǐng)域。并將Java作為***開發(fā)語言,著名的Java開源框架Spring作為***開發(fā)模型。看起來這視乎在為已經(jīng)10多歲的Java注入新生力量。但是也敏銳的發(fā)現(xiàn),VMWare與Google一系列動(dòng)作之后,也為Java帶來了標(biāo)準(zhǔn)分裂的危機(jī)。
盡管Google是開源以及開放網(wǎng)絡(luò)標(biāo)準(zhǔn)的堅(jiān)定支持者。但是在談到Java標(biāo)準(zhǔn)問題的時(shí)候,卻說他們采用的是一個(gè)小于標(biāo)準(zhǔn)的純Java路線。也就是說Google不會(huì)支持全部的Java標(biāo)準(zhǔn)。只會(huì)支持一部分。如果把Java標(biāo)準(zhǔn)比喻成大樹的話,Google支持的部分可能是一個(gè)樹枝、也可能只是一個(gè)樹葉。這個(gè)說法對于Google來說,已經(jīng)有過類似的歷史。
在其開源Android平臺上,采用的就是部分標(biāo)準(zhǔn)策略。在Android平臺上,只支持Java基本語法和部分API,并且必須采用Android特有的架構(gòu)模式。更大的區(qū)別是,Android平臺上的Java程序只是與標(biāo)準(zhǔn)Java程序在源代碼級別兼容,編譯結(jié)果根本不一樣,這導(dǎo)致Java的***特點(diǎn),也就是一次編譯到處運(yùn)行成為空話。
在Google與VMWare聯(lián)手進(jìn)軍云計(jì)算的聲明中,關(guān)于Java EE規(guī)范問題,Google說,他們只會(huì)支持該規(guī)范的一個(gè)子集。也許在不久的將來,大家將會(huì)看到一個(gè)被閹割過的Java EE版本。至于在云計(jì)算平臺上將采用什么樣的虛擬機(jī)問題,還沒有確切的消息。很可能Google版本的Java EE與Android平臺上的Java SE一樣,只是一個(gè)擁有Java外表的Java。
有人也許會(huì)提出疑問,既然是這樣,為什么Spring這樣一個(gè)遵守Java規(guī)范的開源框架也會(huì)加入這一聯(lián)盟,需要提醒大家的是,Spring的創(chuàng)始人本身也是一個(gè)Java EE規(guī)范的反對者,非常痛恨Java EE中的EJB以及重量級Web Service的人。其開發(fā)Spring的目的就是想改變Java EE的開發(fā)模式。
雖然現(xiàn)在還無法確定有多少企業(yè)打算吧他們的Java應(yīng)用遷移到Google應(yīng)用引擎下,但是從目前的數(shù)據(jù)來看,Google應(yīng)用引擎社區(qū)注冊用戶只有不到5000人,這與數(shù)百萬的Java開發(fā)者來說是一個(gè)個(gè)相當(dāng)小的數(shù)字。
兩個(gè)事件對以一下,會(huì)讓人覺得驚人的類似。不同的地方就是Google的策略比較柔和,并沒有像微軟那樣想徹底的改變Java。但是,需要承認(rèn)的是,Google是一個(gè)非常強(qiáng)大的企業(yè),強(qiáng)大到可以讓一個(gè)Java 規(guī)范可用的子集變成一個(gè)事實(shí)上的標(biāo)準(zhǔn)子集。也就是說可讓一個(gè)從大樹上截取的樹枝與大樹處于同等的地位。
在這之前,Spring所做的也是類似的工作,其僅僅使用了Java EE的一個(gè)子集,但是沒有Google做的深入徹底。如果Google對Java EE的做法與Android的手法類似,那么他就根本不必在乎誰持有Java的商標(biāo)了,也不會(huì)在受任何限制,做到當(dāng)時(shí)微軟想做但是沒有做到的事情。
這一切的后果就是導(dǎo)致Java規(guī)范的分裂。隨著規(guī)范之間的距離越來越遠(yuǎn),Java開發(fā)者將面對像C++開發(fā)者所面對的同樣的問題,雖然采用的是相同的程序語言,但是不同平臺開發(fā)者之間幾乎無法互相溝通和理解。
文章標(biāo)題:Java規(guī)范第二次面臨分裂危機(jī)
轉(zhuǎn)載源于:http://www.5511xx.com/article/djishjj.html


咨詢
建站咨詢
