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