2014 Java發(fā)生的5件大事
2014年,Java生態(tài)圈伴隨著引擎的轟鳴起步,隨著FOSDEM年會(huì)的Free Java會(huì)議一路飆升。除此之外,還有很多頗有深度的OpenJDK優(yōu)秀技術(shù)演講,以及(RedMonk分析師)Steve O’Grady帶來的令人吃驚的業(yè)內(nèi)相關(guān)主題演講。Steve給出了2014年初Java受歡迎程度及領(lǐng)域排名領(lǐng)先數(shù)據(jù)。分析中指出的Java的使用范圍,在RedMonk的博客中 也被反復(fù)提到。Java位列編程語言前兩名已不足為奇,但其他的一些議題讓我們這些身處Java生態(tài)圈的相關(guān)人事也感到驚訝。Steve在演講中清 晰地指出Java呈現(xiàn)了非常明顯的多元化。除了大家通常認(rèn)為的企業(yè)級(jí)應(yīng)用,在社交媒體、消息通訊、游戲、移動(dòng)領(lǐng)域、虛擬化、構(gòu)建系統(tǒng)等許多方面也表現(xiàn)突 出。Steve還指出,Java在(在所有行業(yè)的)新項(xiàng)目中被廣泛采用。這個(gè)事實(shí)徹底粉碎了Java已成為遺留企業(yè)平臺(tái)的迷思。
(譯者注:FOSEM 自由和開源軟件歐洲大會(huì))。
2、3月18日:Java 8到來Java 8的到來迎來了新的函數(shù)式與面向?qū)ο蠡旌险Z言。對(duì)Java而言是一次“新生”。Java 8發(fā)布后,使用新版本的比率令人難以置信(可參閱Typesafe的完整報(bào)告)。毫無疑問,這是Java開發(fā)者翹首期盼的一次發(fā)布。
下面是關(guān)于這次發(fā)布亮點(diǎn)一些額外的思考:
Lambdas(JSR 335):在這次發(fā)布前,關(guān)于Lambda這個(gè)主題已經(jīng)有很多優(yōu)秀的書籍和教程預(yù)熱了。在我看來,Lambda給開發(fā)者帶來的最明顯的好處就是,他們可以 擺脫所有強(qiáng)加在身上的命令式、面向?qū)ο蟮娜哂啻a,通過集合清晰地表達(dá)行為的正確意圖。歸結(jié)到那句老話“在計(jì)算機(jī)科學(xué)中只有3個(gè)問題,緩存失效、命名和差 一錯(cuò)誤”。新的Collection Stream API與Lambda一起可以解決后面2個(gè)問題!Nashorn 項(xiàng)目(JSR 223、JEP 174):這個(gè)JavaScript運(yùn)行時(shí)允許開發(fā)者將JavaScript代碼嵌入到他們的Java應(yīng)用程序中。盡管我個(gè)人不會(huì)很快使用,但是這個(gè)新特性有力地促進(jìn)了JVM作為一線動(dòng)態(tài)類型語言平臺(tái)的地位。期待這個(gè)趨勢(shì)繼續(xù)保持下去!日期和時(shí)間API(JSR 310、JEP 150):這是類似生活必需品的API,對(duì)于像Java這樣的藍(lán)領(lǐng)語言需要將它恢復(fù)正常。這一次(第3次)終于做到了!除了終于讓時(shí)區(qū)設(shè)置可以正常工作,這次還將特意將Immutable First作為Java語言中新API的設(shè)計(jì)決定。3、七月:移植到ARM 64(AArch64)RedHat主導(dǎo)了在ARMv8 64位架構(gòu)上支持Java的開發(fā)工作。這是讓Java真正成為“可以在任何地方運(yùn)行”的重要一步,同時(shí)SAP開始移植Java到PowerPC、AIX的工作,之前這兩項(xiàng)工作由OpenJDK中非Oracle參與者負(fù)責(zé)。如果你希望加入這項(xiàng)工作,可在項(xiàng)目主頁看到詳細(xì)信息。
在嵌入式領(lǐng)域,Java要成為主要的參與者還有很長(zhǎng)的路要走。然而,2014年出現(xiàn)的種種跡象令人鼓舞,Java SE嵌入式功能在Raspberry Pi上被頻繁使用,Java ME嵌入式增加了實(shí)際要求的新特性,與Java SE API互相呼應(yīng)。
4、9月、10月:JCP復(fù)興并舉行15周年慶典Java社區(qū)流程(JCP)是決定Java SE、Java EE和Java ME新加入功能的標(biāo)準(zhǔn)主體。在2013年基礎(chǔ)上,JCP將自己重新定義為更加開放的開源社區(qū),在2014年持續(xù)改進(jìn),遏止了成員流失的勢(shì)頭。最重要的是——現(xiàn)在的JCP真正代表了Java生態(tài)圈的多樣性。你可以從現(xiàn)在的執(zhí)行委員會(huì)組成結(jié)構(gòu)上看到,像Java用戶組這樣的組織與業(yè)界及重量級(jí)用戶IBM、Twitter和高盛并肩坐在了一起。
5、社區(qū)協(xié)作空前高漲,微軟加入OpenJDKOpenJDK的新成員超過以往(參見Mani的優(yōu)秀文章)。OpenJDK現(xiàn)在成為了主要技術(shù)公司的巨大熔爐,其中包括Red Hat、IBM、Oracle、Twitter以及今年新加入的微軟。微軟的加入著實(shí)讓人大吃一驚。
JSR和OpenJDK方案的采納越來越多地讓日常工作的開發(fā)者加入。除了組織工作坊引導(dǎo)各個(gè)API的未來開發(fā),現(xiàn)在會(huì)在全球范圍內(nèi)測(cè)試新的API以及新的想法,并盡早將反饋傳遞給OpenJDK和Java EE規(guī)范的設(shè)計(jì)工作。
社區(qū)會(huì)議及Java用戶組的數(shù)量持續(xù)增加,尤其是最近的JavaOne令人映像深刻。令人欣喜是,很多社區(qū)幫助兒童課外和周末時(shí)間學(xué)習(xí)編碼,比如Devoxx for Kids。
2015會(huì)發(fā)生什么?在我的預(yù)期中,2015年Java語言核心的變化會(huì)相對(duì)減少。Java EE和Java ME的新特性發(fā)布也會(huì)減少,因?yàn)樗麄兊闹饕l(fā)布節(jié)點(diǎn)都設(shè)在2016。在社區(qū)方面,我期待看到Java開發(fā)者堅(jiān)定地?fù)肀eb、UI技術(shù),比如 AngularJS、更多系統(tǒng)和Devops工具鏈,比如Docker、AWS、Puppet等。當(dāng)然,還有遷移到Java 8享受函數(shù)式帶來的好處!我敢肯定,社區(qū)肯定會(huì)繼續(xù)茁壯成長(zhǎng),飄忽不定的IoT(物聯(lián)網(wǎng))將會(huì)開始進(jìn)入主流。Java開發(fā)者將會(huì)繼續(xù)等待,直到Java 9真正成為嵌入式開發(fā)的主流平臺(tái)。但是,嘗鮮者會(huì)在2015年開始嘗試早期發(fā)布的版本。Java、JVM應(yīng)用程序?qū)?huì)因?yàn)榭梢苿?dòng)組件以及分布式系統(tǒng)變得愈 加復(fù)雜。可憐的開發(fā)者會(huì)經(jīng)常耗費(fèi)數(shù)周修復(fù)產(chǎn)品的問題。為了應(yīng)對(duì)這種情況,將會(huì)出現(xiàn)一波有意思的分析工具,用來分析基于Java、JVM的應(yīng)用程序。同時(shí)還 會(huì)有部署工具。Oracle的Mission Control是一款非常強(qiáng)大的工具,可以深入JVM了解其中的信息。其他工具比如ZeroTurnaround的Xrebel,jClarity’的Censum。Illuminate下 一步會(huì)把機(jī)器學(xué)習(xí)中的分析應(yīng)用到原始數(shù)據(jù)。最后我想強(qiáng)調(diào)的是。Jigsaw項(xiàng)目是Java 9模塊化招牌,它會(huì)給工具開發(fā)商以及日常開發(fā)者帶來巨大的影響。社區(qū)需要你的幫助來測(cè)試Java 9早期構(gòu)建版本,以此來幫助OpenJDK開發(fā)者及工具開發(fā)商確保IDE、構(gòu)建工具和應(yīng)用程序?yàn)檫@個(gè)重大的改變做好準(zhǔn)備。你可以加入OpenJDK采納小 組:http://adoptopenjdk.java.net。希望大家都能度過一個(gè)很棒的新年假期——期待2015年能夠看到Twitter消息和 GitHub提交越來越多。
致禮!
Martijn(jClarity CEO、Java Champion & Diabolical開發(fā)者)
原文鏈接: javacodegeeks 翻譯: ImportNew
相關(guān)文章:
1. android studio實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器(無bug)2. 解決vue頁面刷新,數(shù)據(jù)丟失的問題3. Python 忽略文件名編碼的方法4. JavaEE SpringMyBatis是什么? 它和Hibernate的區(qū)別及如何配置MyBatis5. Java Media Framework 基礎(chǔ)教程6. python 讀txt文件,按‘,’分割每行數(shù)據(jù)操作7. 在Mac中配置Python虛擬環(huán)境過程解析8. Python趣味挑戰(zhàn)之用pygame實(shí)現(xiàn)簡(jiǎn)單的金幣旋轉(zhuǎn)效果9. Python簡(jiǎn)潔優(yōu)雅的推導(dǎo)式示例詳解10. Python中的min及返回最小值索引的操作
