當前位置:
首頁 > 知識 > Java,傳奇的一生。喜歡聽故事的進來

Java,傳奇的一生。喜歡聽故事的進來

如果說用「永存、曲折、已死、重生」來形容 Java,筆者以為一點也不為過。

1991 年,James Gosling 帶領著名為「Green Team」的團隊著手研發一種新的語言以及專為下一代數字設備和計算機使用的網路系統。歷時 4 年辛勤工作後,該項目最終修成正果並取名為 Java。

Java 有著類似於C的語法並有「一次編譯,隨處運行」的靈便性。透過虛擬機機制,可以使代碼在底層平台進行運行時編譯。回首 Java 過去的 20 年,首先是經歷了微機時代的興與衰,然後進入伺服器領域及智能電話領域,繼而在 DHS(美國土安全部)的「不安全」定義下艱難前行,最後投入甲骨文(Oracle)懷抱現正蓄勢迸發第二春。難道還有別的語言有如此跌宕起伏的情節嗎?

Java 推出後,Sun 發現市場上存在著一個問題—計算機領域與非計算機領域彼此是隔斷的。Sun 認為這是一個機遇,如果能把兩者連接起來將會帶來一場計算機革命。「統一的主題是網路。」Gosling 說,「放眼當時的市場,兩個領域的廠家各自為政,沒有形成統一的網路。因此很多時候不得不重複大量的實驗,但這些其實早在 30 年前的計算機科學中已得到解決。」問題的所在是電子消費品製造者沒有考慮使用網路,例如跨平台的公共 APIs 或者代碼復用,「你幾乎找不到任何的軟體復用。所有軟體都只能不斷地被重複創建。我們提出的模塊概念終將改變這一局面。」

成功非坦途

Java 面世的頭五年,成為當之無愧的編譯器高性能代言人。而過後五年,所有人都把重心轉向了企業應用。Gosling 說,「回首 Java EE 統治世界的場景至今仍歷歷在目。我們唯一的失誤是把全部精力都集中於此,所有資源都被優先調配到 EE,導致無法投入更多的精力去開拓桌面的世界。」

Oracle Java 平台開發副總裁 Saab 是這樣說的,「在 90 年代,大多數開發者都把精力投入到桌面應用的編寫之上。到了 2000 年,Pet.com 的成功吸引了大批的跟風者。業界又把焦點從桌面轉移到了 HTML 應用。隨著智能電話和平板的到來,基於觸摸屏的移動應用又站在了風口。所以對於下一個流行趨勢是很難把握的,這涉及到天時、地利、人和。」

Java 2 Micro Edition (J2ME)在 1998 年引入並把 Java 劃分了三個平台:Java 2 Standard Edition(J2SE)、J2ME 以及 Java 2 Enterprise Edition(J2EE)。ME 的意思是小型設備和嵌入系統。ME 在翻蓋手機上得到推廣,成為當時的標配。Gosling 說,「ME 已經做得足夠好了,在當時是最強大的智能電話開發平台。不過現在漸漸被遺忘,因為 Android 太耀眼了。」

作為一個獨立平台,Java ME 被邊緣化了。Oracle 開發部高級副總裁 Cameron Purdy 說在下一個版本 Java 9 中會把所有平台統一起來,「對比 SE、ME 被獨立出來但發展緩慢。Java 9 的模塊化特性會使得 Java ME 的可復用性得到增強,這將是反擊 Android 和 iOS 的有力武器。」

陷入低谷

隨著 Sun 在最近 10 年的低迷,Java 也不能倖免地經歷著蹉跎歲月。IBM 報價 65 億美元,Sun 沒答應,74 億美元,Oracle 得到了 Sun。

在 Oracle 管理下,頭幾年 Java 表現良好,以 0 重大失誤成為安全的代名詞。不過在 2013 年 1 月情況開始變壞,美國土安全部(DHS)建議人們盡量不要使用 Java。作為面向企業的軟體公司,打補丁修復 Bug 的速度是 Oracle 的短板,根本無法與面向大眾消費者的微軟或 Adobe 相比。別人是以小時或天來計,而 Oracle 是以月為基本單位。

Purdy 認為 Oracle 已經盡了最大的努力去修補並清楚這個短板的重要性。問題的關鍵是如何打造一支在失去 Gosling 等幹將後仍能獨當一面的團隊。他說,「我們聽到了不少質疑之聲,但其實我們一直都在不斷加入投入的力度並努力尋求解決的方案。」

浴火重生

DHS 的公開聲明不啻是壓垮 Java 的最後一根稻草,很多人都預言 Java 將風光不再。然而事情慢慢得到轉機,不少 Java 粉絲開始出來捍衛 Java 的名聲。Dr. Dobb』s Journal 編輯 Andrew Binstock 曾發表一篇社論,其題目是:《即使面臨死亡,Java 看上去還是相當健康的》。

對於 Oracle 的接管,Gosling 表達了自己的喜悅之情,「得知這個消息後,我感到非常驚喜。Oracle 是個非常優秀的監護人並大大超出了我的期望。一開始我還擔心它會不會成為第二個 Solaris,現在看來我是多慮了。」

接管 Java 的頭五年,Oracle 不得不重新打造一支 Java 團隊。「我們花了大量時間來審視整個過程以確定如何進行 Bug 修復,從輸入到發布機制,我們回顧了大量的代碼。最後列出了一個長長的錯誤修復表。」Purdy 回憶說。

安全曾讓 Java 蒙羞,安全也讓 Java 重獲新生。在 2014 Pwn20wn 黑客大會上,Java 成為唯一沒有被攻破的平台。而在 2015 的會議中,Pwn20wn 甚至沒有把 Java 列在攻擊名單上。

現在和未來

Java 9 將是自被 Oracle 收購後發布的首個重大版本。Java 9 的最主要目標是最大限度實現模塊化以幫助人們實現積木式的應用編寫。

「我們的目的是幫助人們從 JAR 的束縛中解脫出來。」Saab 說,「你將很輕鬆地處理在過去相當複雜的事情,例如打包。你可以只用到需要的模塊,而把其它忽略。」Purdy 補充道,「這開創了 Java 平台的先河。該特性將貫穿整個 Java 庫,並以單依賴圖的方式重新整理依賴。」

談及 Java 的未來,Eclipse 基金會執行董事 Mike Milinkovich 的看法是,「我認為 Java 的未來在於物聯網。我十分樂意看到 Oracle 及其合作夥伴能把精力放在完全點對點的 Java 存儲方案上,透過網關實現設備到企業後台的連接。如果成功將能使 Java 在往後 20 年發展得更好走得更遠。雖然這還有一段路要走,但我相信 Java 能夠做到。」

Gosling 的看法是,「VM 是它本身的生態,所有部分彼此相通。IT 世界的未來是要實現互聯互通。把邊緣和核心有效地統一起來,可以省卻內外分開管理的麻煩,從而得到更加強大的平台。」

遍地開花

雖然很多人都曾預言 Java 將一蹶不振,但是現今在不少的重要項目中,Java 仍扮演著極其重要的角色。

Purdy 指出,沒有 Java,甚至不會有大數據的大發展,「Hadoop 本身就是用 Java 編寫的。當你需要在運行 MapReduce 的伺服器集群上發布新功能時,你需要進行動態的部署,而這正是 Java 所擅長的。」

另一 Java 受惠者是 Twitter。一開始 Twitter 是用 Ruby on Rails 編寫的,但是隨著用戶數的增長 RoR 逐漸顯得力不從心。Fail Whale(失敗鯨)的宕機畫面預示著瓶頸問題亟需解決。在 2012 年,Twitter 從 RoR 轉向了 Java 和 Scala,而失敗鯨從此滅絕了。

可見 Java 不但沒有成為昨日黃花,還重新煥發了新的生機。讓我們共同期待 Java 9,看看 Oracle 將為廣大開發者帶來什麼樣的驚喜。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

Java基礎學完了,這些你還記得嗎
Java運算符 優先順序表
分享Java的9 個知識點
Java程序員可以從事的 崗位有哪些?
Java程序員的 職業生涯學習建議

TAG:java學習吧 |

您可能感興趣

偶像練習生來襲,張藝興的balance,王嘉爾的交際花,你喜歡誰?
angelababy:嫁給愛情最好的樣子,是做自己喜歡的樣子
現實版的Lolita風格,你們會喜歡這樣的裝扮嗎?
趙麗穎,baby和熱巴的衣服,你更喜歡哪一件呢?
老了的「TFboys」,你還喜歡嗎?
iPhone X的兄弟來了 你更喜歡哪一款?
原來明星都喜歡生二胎,連Angelababy都要生,還自曝一定要生女兒!
喜歡Lemaire的趕緊去搶優衣庫吧,最值得買的Uniqlo U又來了
有顏有才華玩得起潮牌,這樣的fashion icon你會不喜歡?
喜歡鄭爽和娜扎的原因是一樣的?baby熱巴這一秒神似!
Average Rob的小哥,喜歡把自己P進名人的照片里,神態動作簡直毫無違和感
從一開始出道,和阿sa組成的twins組合,因為一動一靜的組合,十分的招人喜歡
這些為迪奧代言的當紅女星,除了angelababy,你還喜歡誰?
龍頭 Nike 的底蘊終於祭出了!不知道能否對抗 Boost 呢?和樂叔相比,我更喜歡這款 Converse!
baby的夏天造型,你喜歡哪一款?
不喜歡聽別人的故事,喜歡自己的人生就是一段故事!
管它什麼style,自己喜歡的就是最好的風格
你喜歡angelababy嗎?喜歡她漂亮還是?
kenzo在紐約時裝周上驚艷亮相,你是資深文藝風的愛好者,會喜歡這一次的新品嗎?
仙劍奇俠傳三cosplay,喜歡這樣的小仙子么