2015年5月23日, Java誕生20周年。 細數(shù)IT的語言開發(fā)平臺,從匯編到BASIC;從CORBA到FORTRAN;從PASCAL到C,C++,.NET… ,似乎每個語言都曾閃耀一時,而Java憑借卓越的通用性、高效性、平臺移植性和安全性,被廣泛應用于PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),從個人IT到企業(yè)應用無處不在,如果把Java定義為IT史上迄今為止最成功的計算機語言,就算是最擅吐嘈的年輕人想必也不會有太大異議。
精雕細琢 問題從來都不是問題
從SUN公司具有前瞻性的啟蒙,到BEA公司向企業(yè)層面的擴展,再到甲骨文收購后的日益成熟, Java走過的二十年可謂多彩。 隨著Java 7,Java 8及Weblogic12c Java應用服務器等明星級工具的出現(xiàn),Java似乎已經(jīng)將觸角延伸至最大領域。然而,問題也隨之產生:Java的研發(fā)初衷是為了解決垃圾回收系統(tǒng)、可移植的安全性、分布程序設計和多線程功能等問題,但是隨著這些系統(tǒng)的不斷變大,很多新興工具在長期運行時在實用性和耐用性方面顯現(xiàn)出疲態(tài)。
由SUN、BEA、甲骨文三家公司精英組成的Java研發(fā)團隊敏銳地發(fā)現(xiàn)了這個問題,本著甲骨文對市場更加開放的承諾, Java從JDK7 u40版本開始便在JDK工具模塊中添加了一個新的成員: 涵蓋工作時間分析和診斷工具套件在內的甲骨文Java任務控制套件,為開發(fā)者集中解決在Java或其他開發(fā)平臺上進行開發(fā)時可能遇到的問題。該任務控制套件最初為JRockit的一部分,用于提供實時性能分析。JRockit團隊在評估用戶提供的絕密交易應用中發(fā)現(xiàn)了客戶應用程序的滯后性,因此決定建立一個足夠低開銷的工具來收集生產數(shù)據(jù),結果發(fā)現(xiàn)該工具取得了十分顯著的成效,許多用戶開始詢問該工具的授權問題。于是,一個融合了更多資源的商業(yè)型JRockit任務控制套件由此誕生。甲骨文在收購SUN公司后,突然擁有了兩個市場上最常用的通用Java虛擬機。其中,HotSpot JVM是開源的JVM,代碼庫和許可證廣為人知;另一個是JRockitJVM,擁有鮮為人知的代碼庫及快速、精致及輕量級的特點。甲骨文希望取兩“機”所長,借助于可用資源打造市場上最佳Java虛擬機,而打造的基礎,就是這兩個虛擬機共有的特性——JRockit任務控制套件。隨著Java HotSpot VM功能的不斷增加,甲骨文Java任務控制套件因需而生。該套件包含兩個類似JRockit任務控制工具:Java管理擴展(JMX)控制臺和Java JRockit Flight Recorder,從Java 8開始實施應用。
同時,甲骨文還打造了一款Java高級管理控制臺,使應用的目的更加明確。Java高級管理控制臺的功能可以分為兩部分:第一,為使用者直接追蹤與Java應用程序相關使用數(shù)據(jù);第二,使管理員根據(jù)這些數(shù)據(jù)執(zhí)行相關操作。通過使用Java高級管理控制臺,用戶可以獲得一個安全、可控的運行環(huán)境及更好的終端用戶體驗。具體說來,Java高級管理控制臺能夠獲取當前哪些網(wǎng)絡應用程序(Java小程序和Java Web Start應用程序)正在企業(yè)內部運行以及運行在哪個版本的Java運行環(huán)境(JRE)。除此之外,Java高級管理控制臺還可以幫助系統(tǒng)管理員從企業(yè)內部客戶端中獲取大量信息,例如:每一個應用的運行位置,服務提供商,訪問權限,以及這個應用程序被運行的次數(shù)。高級管理控制臺幫助系統(tǒng)管理員更簡單地管理網(wǎng)絡應用程序和Java實時運行環(huán)境,并且提供了通過部署規(guī)則集控制老版本Java兼容性和可用性的工具,而這些功能都能為終端用戶帶來更流暢的用戶體驗。
在云和物聯(lián)網(wǎng)大潮中再次煥發(fā)青春
在Java任務控制套件和Java高級管理控制臺的雙重保障下,Java進入到了使用的新紀元,而同樣進入這個紀元的,還有云計算和物聯(lián)網(wǎng)。作為最常用的云計算底層開發(fā)語言,Java的安全性、開放性、穩(wěn)定性和跨平臺性與云計算高可靠、高拓展的優(yōu)勢相得益彰。加入甲骨文后,Java更是加快了向云端靠攏的步伐。Java8中多租戶和模塊化的功能使大規(guī)模的云部署變得簡單,連Google App Engine從僅支持Python發(fā)展到了支持Java的加入。同時,在日益重要的物聯(lián)網(wǎng)方面,甲骨文公司正大力將Java推向嵌入式系統(tǒng),隨著中間件的興起,企業(yè)更多地在內部采納Java,而諸如飛思卡爾這樣的處理器領導者也加入嵌入式Java的陣營。針對互聯(lián)網(wǎng)缺乏統(tǒng)一互聯(lián)標準的問題,飛思卡爾與甲骨文合作推出了一個平臺化的“一體化盒子One Box”物聯(lián)網(wǎng)解決方案,令開發(fā)者無論基于哪種環(huán)境都能夠在統(tǒng)一的Linux操作系統(tǒng)下進行開發(fā),大大簡化了開發(fā)流程。
成名于互聯(lián)網(wǎng),掀起于云端,Java一路上不算平坦卻能披荊斬棘。在Java 20周年到來之際,我們帶著更多祝福、更深期盼希望Java的云端的下個二十年能夠飛得更高更遠,續(xù)寫輝煌。