Java 20周年,你會一路追隨么?
原創(chuàng)Java,大學(xué)里學(xué)過的一門編程語言課程?Java,IT領(lǐng)域求職神器?無數(shù)的程序員投身到Java的懷抱,無數(shù)的商業(yè)應(yīng)用基于Java構(gòu)建。從1995年5月23日J(rèn)ava語言誕生,如今Java已經(jīng)走過了20年。20年來,Java經(jīng)歷過輝煌,還進(jìn)入過低谷,但是,20年來技術(shù)的快速發(fā)展,卻沒有讓這個編程語言沒落,甚至還經(jīng)常在各大編程語言排行榜中位列榜首。是什么支撐著Java走到今天?Java今后的發(fā)展又會走向何處?下一個20年里,你還會一直追隨Java么?
Java成功的保證
Java是由Sun公司在1995年正式推出的面向?qū)ο蟪绦蛟O(shè)計語言,自面市以來,發(fā)展迅速,至今依舊是900萬開發(fā)者的***編程語言,也是30億臺設(shè)備的基礎(chǔ)程序。基于Java的媒體設(shè)備已達(dá)1.25億臺,Java卡的出貨量也已超過了100億個。在全球范圍內(nèi),Java技術(shù)已廣泛應(yīng)用于提高道路和航空安全性、從大洋深處采集科學(xué)應(yīng)用所需的信息、提升作物質(zhì)量、通過量化處理來協(xié)助戰(zhàn)勝饑餓、模擬人的大腦與肌骨系統(tǒng)以及游戲等各個領(lǐng)域。
甲骨文公司Java開發(fā)人員關(guān)系團(tuán)隊總監(jiān)Sharat Chander認(rèn)為,Java***的成功在于Java社區(qū),Java社區(qū)的蓬勃發(fā)展,以及Java社區(qū)的所有開發(fā)人員為Java過去二十年所作出的貢獻(xiàn),是Java生命力最重要的來源。
甲骨文公司Java開發(fā)人員關(guān)系團(tuán)隊總監(jiān)Sharat Chander
Java 20年來的成功,最主要的基礎(chǔ)就是Java社區(qū),通過社區(qū)中的技術(shù)專家們共同努力,推進(jìn)Java的快速發(fā)展。在未來,Oracle會通過三種方式與整個Java社區(qū)共同成長。首先是Java社區(qū)的進(jìn)程,通過Java社區(qū)進(jìn)程來確保社區(qū)的開發(fā)人員與Oracle共同推動Java成長;第二,通過Java用戶群和用戶組來推動Java的發(fā)展,Java用戶群是本地的Java開發(fā)人員、工程師等共同組成的社群,他們互相之間學(xué)習(xí),共同進(jìn)行頭腦風(fēng)暴,從其他同行身上學(xué)習(xí)Java的發(fā)展;第三,就是Java Champion項目,是Java社區(qū)中的技術(shù)***、領(lǐng)軍人物,他們在使用Java的過程中會產(chǎn)生創(chuàng)新性的想法,然后推動了Java的發(fā)展。
其次,Java成功的保障,來源于技術(shù)不斷的進(jìn)步。當(dāng)然,技術(shù)的進(jìn)步也有賴于社區(qū)所有開發(fā)人員共同努力和貢獻(xiàn),而Oracle也會不斷地傾聽所有Java社區(qū)中的技術(shù)人員、開發(fā)人員的反饋,然后集成到Java技術(shù)演變的進(jìn)程中。
第三則是Oracle的管理功能,所謂管理的職能,其實就是Oracle扮演好推動Java社區(qū)發(fā)展,采集Java社區(qū)中所有開發(fā)人員、程序人員和所有其他社區(qū)的組成人員共同的聲音,然后把所有的意見集中在一起反應(yīng)到整個Java技術(shù)革新中。
正如Sharat Chander所說:“Java已經(jīng)成為我們?nèi)粘9ぷ骱蜕钪袠O為重要的一部分,它支撐著我們每天使用的各種軟件。從企業(yè)大數(shù)據(jù)、云、社交媒體、移動和物聯(lián)網(wǎng)的創(chuàng)新,一直到車聯(lián)網(wǎng)、智能手機和電子游戲,Java不斷幫助開發(fā)者挑戰(zhàn)技術(shù)創(chuàng)新的極限。”
Java的優(yōu)勢
眾所周知,Java的***優(yōu)勢在于“一次編譯,到處運行”,而如今,開發(fā)語言和開發(fā)平臺眾多,也不乏有些具備跨平臺功能。Java如今還能保持這樣的優(yōu)勢么?
甲骨文公司Java平臺開發(fā)事業(yè)部開發(fā)副總裁Georges Saab表示,當(dāng)年提出“一次編譯,到處運行”是在90年代中期,桌面機器比較盛行,而桌面操作系統(tǒng)也有’很多,因此,Java的“一次變異,到處運行”的優(yōu)勢就很明顯。而如今,世界上絕大多數(shù)的服務(wù)器都是在Java基礎(chǔ)之上,而原先的“一次編譯,到處運行”的意義就更加重要。“過去二十年的經(jīng)驗告訴我們,不斷地證明你如果用Java語言來進(jìn)行編譯,能夠***程度上保護(hù)你所付出的辛勤復(fù)雜,能夠在技術(shù)不斷革新的過程當(dāng)中,能夠給你提供更好的保障。”
甲骨文公司Java平臺開發(fā)事業(yè)部開發(fā)副總裁Georges Saab
Java不斷地在和世界各地制作硬件和操作系統(tǒng)的廠商保持密切合作,來確保所有新的硬件以及操作系統(tǒng)的技術(shù)革新一旦出現(xiàn)后,Java能夠充分被支持,并且可以充分地利用硬件和操作系統(tǒng)所產(chǎn)生的技術(shù)的優(yōu)化。
提高Java推出的透明度
2009年,當(dāng)Oracle收購Sun公司后,專門組成了BEA團(tuán)地來負(fù)責(zé)具體的Java實施工作,重新考慮為Java社區(qū)以及用戶的承諾。而在發(fā)布Java 7時,Oracle遇到了一些困難。是將Java所有承諾都做完再發(fā)布,還是按照既定時間發(fā)布,但有些功能沒有完成,因此發(fā)布的是不完整的。最終,Oracle決定聽從Java社區(qū)中技術(shù)人言的意見,基于大家的呼聲和反饋,最終選擇按時發(fā)布Java 7,沒有完成的功能將在Java 8中完成。
Georges Saab強調(diào),Oracle希望提高發(fā)布過程的透明度,通過OpenJDK提升項目,通過社區(qū)可以預(yù)見的方式來進(jìn)行發(fā)布。
在Oracle接手Java后,曾一度不被業(yè)界看弄好,打補丁修復(fù)漏洞的速度一直是Oracle的短板,再加之六年的時間中,Java僅發(fā)布了2個版本,未免也會讓Java開發(fā)者有些失望。Georges Saab表示,“Java相關(guān)的發(fā)布時間表都在一年前公布,Oracle會嚴(yán)格按照公布的時間來發(fā)布。例如,每個季度的安全補丁發(fā)布,大型版本的發(fā)布做到每兩年一次,小型的發(fā)布時間在6個月左右。”
Java的未來
目前,Oracle和Java社區(qū)現(xiàn)在主要專注于進(jìn)行Java 9的創(chuàng)新。該版本的主要特色是Project Jigsaw,其目的是讓Java平臺模塊化,讓其能夠針對更廣泛的設(shè)備進(jìn)行擴(kuò)展,讓開發(fā)人員更容易建立和維護(hù)類庫和大型應(yīng)用,同時提升安全性、可維護(hù)性和性能。Java 9的其他特性還包括Java Shell(用于評估Java代碼片段的交互式工具)、一個新的HTTP客戶端應(yīng)用程序接口(支持HTTP/2和網(wǎng)絡(luò)插座)、一個連接基于Linux的ARM AArch64架構(gòu)的端口、對現(xiàn)有應(yīng)用程序接口進(jìn)行的眾多更新和重大性能改進(jìn)。
未來的Java,又會有哪些創(chuàng)新呢?Georges Saab表示,過去大部分應(yīng)用會受CPU的限制,而未來內(nèi)存應(yīng)該會成為瓶頸。怎樣優(yōu)化內(nèi)存分布、優(yōu)化數(shù)據(jù)的結(jié)構(gòu),使同樣的資源能夠發(fā)揮更大的作用,是Java未來的趨勢。
對于Java感興趣的用戶,可以在OpenJDK JEP(即JDK Enhancement Proposal,JDK增強方案)的進(jìn)程頁面中,查看大家正在討論的方案和思路。同時,還可以查看名為Valhalla的項目,該項目的著眼點位于Java主體與Java對象之間,是專門研究Java 9之后的問題。
Georges Saab表示,“我們一直在努力,確保Java社區(qū)繼續(xù)保持活力、充滿干勁并推動該項技術(shù)不斷發(fā)展。二十歲對于人類來說僅僅算是步入青年,我們期待著Java能夠繼續(xù)充 滿生機地迎來下一個二十年。”