一、 Java 的故事
1 、 Java 的誕生
讓我們把時空切換到 1982 年,那一年一個偉大的公司誕生于美國斯坦福大學(xué)校園,它的名字叫 Sun Microsystems ,直譯的話叫太陽微系統(tǒng)公司,我們平時就叫他 Sun ,事實上 Sun 是 Stanford University Network 的縮寫。 Sun 在行業(yè)中被認(rèn)為是最具創(chuàng)造性的企業(yè)。是極少數(shù)幾個同時擁有自己微處理器、電腦系統(tǒng)、操作系統(tǒng)的公司。
然而, 1990 年的一天, Sun 的總裁麥克尼利( McNealy )聽說他最好的一個工程師詹姆斯 . 高斯林( James Gosling )打算離職,他感覺事態(tài)很嚴(yán)重。直覺告訴他優(yōu)秀的員工的離去意味著公司正在出大麻煩。麥克尼利必須找高斯林和其他員工好好談?wù)劊纯磫栴}出在哪里。
這些員工的意見很一致。 Sun 公司本來是硅谷極為特殊的一個公司,以充滿活力、富于創(chuàng)新著稱。太陽微系統(tǒng)公司一直很尊重員工,盡量發(fā)揮他們的創(chuàng)造力和熱情。但是,近年來,太陽微系統(tǒng)公司卻越來越像成熟的大公司了。連哥斯林這樣的人,公司也安排他去做一些為老系統(tǒng)寫升級軟件這種瑣碎的工作。正在扼殺著太陽微系統(tǒng)公司員工的創(chuàng)新思想和工作熱情。高斯林他們想做一些偉大的、革命性的事情,但在 Sun 公司現(xiàn)在的狀況中是不可能實現(xiàn)的。
Java
的創(chuàng)造者
詹姆斯
.
高斯林(
James Gosling
)
隨后,麥克尼利采取了一個大膽的舉動,他讓高斯林自己組建一個完全獨立于公司的小組,由小組成員自己決定工作目標(biāo)和進(jìn)度。麥克尼利對哥斯林說: “ 我不管你們要做什么,要多少錢、多少人,也不管你們花多長時間做出來,公司都無條件支持。 ”
這個后來取名為 “ 綠色小組 ” 所要研究的產(chǎn)品就是十年后風(fēng)靡 IT 界的數(shù)字家電、后 PC 設(shè)備和家庭網(wǎng)。事實證明,綠色小組的研究并不十分成功,直到 2001 年, Sun 在數(shù)字家電方面的業(yè)績并不很突出。但是,綠色小組的一個副產(chǎn)品,高斯林發(fā)明的 Java 程序設(shè)計語言,卻深深改變了這個世界 ……
綠色小組成立之初只有 4 個人。他們有一個很模糊的想法,甚至連最終的目標(biāo)產(chǎn)品是硬件還是軟件也不知道。但是他們知道必須發(fā)明一些技術(shù)或者產(chǎn)品讓 Sun 公司趕上信息領(lǐng)域的下一波大浪潮。
當(dāng)時人類已經(jīng)發(fā)明了很多種消費類電子產(chǎn)品,包括微機(jī)、手機(jī)、手持電腦、錄相機(jī)、電視機(jī)、洗衣機(jī)、冰箱、微波爐等等。他們認(rèn)為要將這些設(shè)備數(shù)字化并用網(wǎng)絡(luò)互聯(lián)講是今后的方向(物聯(lián)網(wǎng)?)。綠色小組將這個需求歸結(jié)成兩個產(chǎn)品原型目標(biāo),即發(fā)明一種手持遙控設(shè)備來實現(xiàn)所有家電設(shè)備的互聯(lián)(硬件);發(fā)明一種程序設(shè)計語言,用它來編寫能在這些設(shè)備上運行的小巧程序(軟件)。
高斯林給當(dāng)時設(shè)計了一種運行在虛擬機(jī)中的面向?qū)ο蟮恼Z言,起名叫 Oak (橡樹,高斯林窗外的一顆樹)。
但是申請注冊上商標(biāo)時,發(fā)現(xiàn) Oak 被其他公司注冊了,不得不重新起名。當(dāng)時他們正在咖啡館里喝著印尼爪哇 (Java) 島出產(chǎn)的咖啡,有一個人靈機(jī)一動說就叫 Java 怎么樣,并得到了其他人的贊賞,于是他們就將這種程序語言命名為 Java 。
綠色小組的成員每周工作七天,平均每天工作 12 到 14 個小時,后期工程師們幾乎住在實驗室,沒日沒夜地干,只是每隔幾天回家洗澡換衣服。三年以后他們制作出了第一臺樣機(jī),盡管實現(xiàn)了基本功能,但造價在一萬美元以上,盡管市場前景不明朗,技術(shù)上也還有很多問題, Sun 公司的管理層還是用獎金和股權(quán)大大獎勵了綠色小組的成員,并加大投入,努力實現(xiàn)產(chǎn)品化。
但是公司內(nèi)外對其產(chǎn)品都不看好,市場也并不認(rèn)可。綠色小組的成員在沮喪和失望中度過了整個 1993 年和 1994 年。在士氣最低落的時候,大部分成員都離開了綠色小組,有的甚至離開了 Sin 公司。留下來的人也失去了工作熱情。不少人每天早上 11 點鐘上班,下午 4 點鐘就離開了。有些人一天到晚只是玩游戲,還有的人則念學(xué)術(shù)論文。
在黑暗的日子里他們都期待著上天能眷顧他們這些苦命的人,期待著某種奇跡出現(xiàn) ……
當(dāng)時互聯(lián)網(wǎng)已經(jīng)出現(xiàn)了 20 年左右,但 Ftp 和 Telnet 的方式無法在科研人員之外的人群普及和應(yīng)用, 1994 年一個名叫網(wǎng)景的公司推出了一種叫做 Netscape 瀏覽器的東西,加速了互聯(lián)網(wǎng)的普及;高斯林他們意識到互聯(lián)網(wǎng)是一個今后的發(fā)展方向。開始制作針對互聯(lián)網(wǎng)的 Java 應(yīng)用,希望會有所斬獲。
1995 年初的一天,高斯林和以往一樣不停地參加各種會議以期讓人們認(rèn)可他們的產(chǎn)品,這次他參加的是 “ 硅谷 - 好萊塢 ” 互聯(lián)網(wǎng)及娛樂業(yè)的研討會。演講剛開始是,大家對高斯林的講解意興闌珊,直到他將鼠標(biāo)移向一個分子模型,這個分子模型動起來了,而且會隨著鼠標(biāo)的移動上下翻滾!場面立刻發(fā)生了逆轉(zhuǎn),會場一下子沸騰起來,人們驚嘆不已、嘖嘖稱奇。剎那間,人們對互聯(lián)網(wǎng)的潛力進(jìn)行了一番新的審視!也就在剎那間,這一批有影響力的人成了高斯林最忠實也是最有力的說客。
Java 活下來了,并且成了互聯(lián)網(wǎng)時代最強(qiáng)勢、最具代表性的語言。
2 、微軟和 Sun 針對 Java 的世紀(jì)之戰(zhàn)
Java 特點是,一次編寫,到處運行,可以適應(yīng)于任何平臺。而互聯(lián)網(wǎng)就是這樣一個可以是任意平臺的超大網(wǎng)絡(luò)。所以 Java 借著互聯(lián)網(wǎng)快速發(fā)展的東風(fēng),扶搖而上,迅速穿紅。
面對 Java 金礦,大家都躍躍欲試 …… 這其中要數(shù)微軟和 Sun 之間的斗爭最為典型:
1996 年 9 月的某一天,微軟瀏覽器部門的主管艾達(dá)姆 · 波茨瓦斯幾經(jīng)考量之后,提筆給時任微軟 CEO 的比爾 · 蓋茨寫了一郵件,他非常懇切地提醒比爾 · 蓋茨注意一個正在形成的威脅。他寫到: ” 必須意識到 Java 不僅僅是一種語言,如果它只是一種語言,我們愿意并且能夠容易地為它建立最佳的表現(xiàn)形式,事情可以圓滿解決了。但是事實上, Java 絕不僅僅是一種語言,它是 COM 的替代者! ” 而 COM 恰恰是 Windows 的編程模型。而 Java 編程很多時候比 C++ 編程要容易的多,更致命的是他是跨平臺的。波茨瓦斯也提出了對抗 Java 的方法,就是悄悄地為 Java 提供某些擴(kuò)展,使得用 Java 編寫的程序能夠在 Windows 中工作得更好,但是在其它平臺上卻不能運行。
蓋茨顯然被這封信嚇壞了,他第二天就回信了: ” 這可把我嚇壞了。我不清楚微軟的操作系統(tǒng)要為 Java 的客戶應(yīng)用程序代碼提供什么樣的東西,而這些東西將足夠讓它來取代我們的市場地位。了解這一點非常重要,是應(yīng)該最優(yōu)先考慮的事情。 ” (沒想到,這封信成為幾年后司法部針對微軟的反托拉斯案的呈堂證供。 )
自此微軟和 Sun 針對 Java 的世紀(jì)之戰(zhàn)拉開了 ……
第一回合:微軟推出 J++ 語言,并推出了 Visual j++ 集成編程工具,對 Java 進(jìn)行了大量的修改。 1997 年, Sun 公司以歧視使用 Java 軟件,旨在維持其視窗操作系統(tǒng)的壟斷地位,違反反壟斷法為由起訴微軟, 2001 年 1 月, SUN 勝訴,根據(jù)雙方達(dá)成的和解協(xié)議,微軟不得對 Windows 操作系統(tǒng)中包含的 Java 語言作任何改動,并獲賠 2000 萬美元。
第二回合: 2001 年年底,微軟在推出新版操作系統(tǒng) Windows XP 和新版 IE 時,故意不安裝 Java 軟件,并且推出自己仿造 Java 創(chuàng)造的語言 C# 和 .net 框架。 2002 年的 3 月 8 日, SUN 公司向美國加州地區(qū)法庭提出起訴,稱此舉造成它直接經(jīng)濟(jì)損失高達(dá) 10 億美元。 2002 年 6 月,微軟干脆稱從 2004 年起,因為安全原因微軟的 Windows 操作系統(tǒng)將不再支持 Java 語言。
就在雙方口水戰(zhàn)日益升級之際,迎來了有關(guān) SUN 訴微軟案的第一次聽證會。 SUN 起訴微軟的聽證會被安排在 2002 年 12 月的第一周,當(dāng)時,在巴爾的摩市下了近三年來最大的一場雪。整個城市幾乎都停止運轉(zhuǎn)。但是弗雷德里克 · 摩茲法官堅持要求開庭,并且要求幾十位與案件有關(guān)的律師到場出席;據(jù)審判時一位目擊者說,為了保證早上能夠到庭,法官他自己在會議室中睡了一晚。
幾周后,也就是 2002 年 12 月 23 日,摩茲法官發(fā)布了那份長達(dá) 42 頁的判決書,他裁定微軟公司必須在其 Windows 操作系統(tǒng)和 IE 中發(fā)布與其競爭的 Java 編程語言。摩茲法官的意見是:在微軟的壟斷下, Java 擁有一個并不健全的市場,比如說,大部分 PC 上所安裝的 Java 軟件要么就是舊版本,要么就是僅適用于 Windows 的版本,這使得其它軟件開發(fā)者對 Java 平臺產(chǎn)生了厭惡的情緒,這些都是因為微軟反競爭行為的結(jié)果,看來微軟已經(jīng)利用 Windows 的壟斷地位來破壞 SUN 對 Java 的銷售渠道。樹立市場正義的唯一方法是糾正微軟的所作所為, ” 阻止微軟從它過去的錯誤中獲得將來的利益! ”
針尖對麥芒的斗爭一直在繼續(xù) ……
和解: 2004 年 4 月 2 日,兩者達(dá)成和解協(xié)議微軟將向 Sun 賠付 20 億美元以消解舊怨,他們開始共同應(yīng)對來自 IBM 和 Linux 的挑戰(zhàn)。
從上面的故事中可能有同學(xué)認(rèn)為 Sun 是正義的,微軟是非正義的,是這樣的嗎?
我們可以再看看下面的故事 ……
3 、 Oracle 和 Google 針對 Java 的再次對決
事實上,不止微軟一家意識到 Java 是座金礦。 Oracle 是第二家從 Sun 手中購買 Java 許可證的公司,而 IBM 甚至比 Sun 更早的意識到 Java 在企業(yè)級應(yīng)用方面的價值,在對 Java 支持上投入了巨大的精力,我們平時編寫 Java 程序使用的 Eclipse IDE 集成編程環(huán)境,就是 IBM 主導(dǎo)開發(fā)、用以爭奪 Java 領(lǐng)導(dǎo)權(quán)的重大舉措(有空可以細(xì)講 IBM 和 Sun 的恩恩怨怨,從 Eclipse 這個名字就可以看到其中的火藥味)。
“ 和諧 ” 的陰影:
IBM 和 Intel 為了爭奪 Java 的話語權(quán),向 Sun 發(fā)出了新一輪的挑戰(zhàn), 2005 年他們支持 Apache 開源社區(qū)發(fā)起了一個叫做 Harmony 的項目, Harmony 有個有趣的中文意思 – 和諧。
Harmony
的目的有兩個:
1
、在
Apache Licence v2
的許可之下,獨立的(不閱讀
Sun JDK
的源代碼,僅僅根據(jù)
Java SE 5 specification
)開發(fā)一個與
Java SE
兼容的
JDK
。
2
、通過
Harmony
的開發(fā)社區(qū),創(chuàng)建一個模塊化的架構(gòu)(包括虛擬機(jī)和類庫)。該架構(gòu)允許所有的獨立開發(fā)項目可以共享運行時組件。
簡單的說, Harmony 就是讓其他公司可以使用它來繞開 SUN JDK 的商業(yè)限制。 Sun 為了保持自己對 Java 的主導(dǎo)權(quán),堅決不給 Harmony 頒發(fā) JDK 認(rèn)證。
這讓開源社區(qū) Apache 和 SUN 發(fā)生了決裂 ……
“ 太陽 ” 的終結(jié):
Sun 創(chuàng)造了 Sparc 、 Solaris 、 Java 等偉大的產(chǎn)品, Sun 曾經(jīng)風(fēng)光無限,市值估價 2000 億美金。 Sun 預(yù)測到網(wǎng)絡(luò)就是計算機(jī),可是真正的網(wǎng)絡(luò)時代到來時,它卻沒有真正調(diào)整過來,不斷的虧損和決策失誤讓它舉步維艱。
2009 年 4 月 Oracle 宣布以 74 億美金收購 Sun , 2010 年 1 月歐盟決定無條件同意這項收購,一個偉大公司就這樣走到生命的盡頭。
Java 的創(chuàng)造者 James Gosling 在自己的博客貼出了一幅畫,并寫了一句話 So long, old friend… (再見了,老朋友)
( 墓前站的是 Linux 的吉祥物 Tux 塔克斯和 Java 的吉祥物 Duke 杜克)
雖然 Sun 已經(jīng)離去, Java 還會繼續(xù)前行 ……
“ 機(jī)器人 ” 的小伎倆:
1998 年 Sun 的共同創(chuàng)始人 Andy Bechtolsheim 給了斯坦福大學(xué)的兩個學(xué)生一筆 10 萬美金的天使投資,他們成立了一個小公司名字叫 ——Google 。
2007 年 11 月 5 日 ,已經(jīng)成長為互聯(lián)網(wǎng)領(lǐng)域內(nèi)巨人的 Google 發(fā)布了一個叫做 Android 的手機(jī)操作系統(tǒng)平臺。 Android 采用我們上面提到的 Harmony 來作為 JDK ( Java 開發(fā)工具包)的替代品 , 使用 Dalivk 虛擬機(jī)來替代 JVM ( Java 虛擬機(jī)),它這次從頭至尾都沒有說它用的是 Java ,可是所有的 Java 程序員都懂這就是 Java ……
Oracle 對 Google 的訴訟:
2010 年 8 月 12 日 , Java 專利權(quán)的新主人 Oracle 指控 Google 在 Android 開發(fā)中 “ 故意,直接并反復(fù)侵犯 Oracle 的 Java 相關(guān)的知識產(chǎn)權(quán) ” ,新一輪的斗爭正在繼續(xù)。
二、 Java 的版本演進(jìn)
1995 年 5 月 23 日 |
Java 語言發(fā)布 |
1996 年 |
1
月,
JDK1.0
誕生,
|
1997 年 2 月 18 日 |
JDK1.1 發(fā)布 |
1998 年 12 月 4 日 |
JDK1.2
(
Java2
)發(fā)布
|
2000 年 5 月 8 日 |
J2SE1.3 發(fā)布 |
2000 年 5 月 29 日 |
J2SE1.4 發(fā)布 |
2004 年 9 月 30 日 |
J2SE1.5
發(fā)布,成為
Java
語言發(fā)展史上的又一里程碑。
|
2005 年 6 月 |
Java SE 6.0 發(fā)布。 J2EE 更名為 Java EE , J2SE 更名為 Java SE , J2ME 更名為 Java ME |
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
