javaone_JavaOne 2015 –第二十版十大收获
javaone
我們剛剛在舊金山有了JavaOne的第二十版。 這將是我自2004年以來第十二次參加不間斷的系列活動(dòng)。最大的教訓(xùn)是什么,可以揭示Java的未來。
模塊化斗爭
自從Java 2007首次提到模塊以來,已經(jīng)花費(fèi)了將近9年的時(shí)間,或者說,直到2016年9月JDK 9正式發(fā)布時(shí)為止。 實(shí)際上,自JSR 277 Java模塊系統(tǒng)以來,已經(jīng)有11年了 。 當(dāng)我們考慮這一努力時(shí),將需要十多年的活動(dòng)和思考( 請參見何鴻tan的原始聲明 )。 Oracle對JDK的模塊化工作需要自己的傳記。 馬克·雷因霍爾德(Mark Reinhold)也許有一天會(huì)寫它,也許它會(huì)成為21世紀(jì)神話般的人類月份。 有效地重寫Java令人恐懼,以至于它遵循HIGH COHESION和LOOSE COUPLING花費(fèi)了近十年的時(shí)間。 除了JDK工程師以外的其他所有人都應(yīng)該感到非常害怕,尤其是如果您所涉及的業(yè)務(wù)擁有龐大的Technical DEBT。 許多機(jī)構(gòu)負(fù)擔(dān)不起升級,重寫和重新排序舊式類,程序包,更不用說模塊了。 確實(shí),對于那些難以承受重壓并仍然堅(jiān)持使用經(jīng)典Java(JDK 1.0至7.0)的企業(yè)而言,可維護(hù)性的成本將變得天文數(shù)字化。對于Oracle,他們沒有選擇支付開發(fā),設(shè)計(jì)和體系結(jié)構(gòu)的全部成本。整個(gè)Java平臺和社區(qū)的利益,以便在將來變得越來越好。 當(dāng)我們在2016年達(dá)到JDK 9 GA時(shí),應(yīng)該對Oracle表示極大的祝賀。
模塊化與我們的未來
應(yīng)用程序和JDK的模塊化是新的諺語,我相信Java和實(shí)踐的開發(fā)人員,設(shè)計(jì)師和架構(gòu)師社區(qū)都有一個(gè)“ LINE-IN-THE-SAND”(又稱DEMARCATION POINT或DISRUPTION LAYER),我們將在2016年通過模塊化系統(tǒng)可以比JDK平臺更快地進(jìn)行更改。 如果Project Jigsaw的設(shè)計(jì)正確,則您不再需要與CORBA或IBM派生的老式j(luò)ava.util.Date和java.util.Calendar競爭。 從理論上講,您應(yīng)該能夠替換這些模塊服務(wù),并在不需要它們時(shí)將其刪除。 如果不需要Swing,則該模塊可以使用,對于JavaFX和AWT(僅用于服務(wù)器部署)相同。 盡管保證了Java平臺的向后兼容性,但這意味著有機(jī)會(huì)進(jìn)行試驗(yàn)和提出新的想法。 我預(yù)計(jì),對于招聘部門,JDK 9在2017年將成為CAMEL的絕招。 我相信沒有人會(huì)想以更快的速度觸碰Java SE 7或更早版本(經(jīng)典Java)。 如果那里甚至有經(jīng)典的Java提示,高級工程師都會(huì)查看您的工作規(guī)格并運(yùn)行100英里。 您可以提供1000英鎊/天的費(fèi)用,為期6個(gè)月,但認(rèn)真對待這些債務(wù)的人會(huì)試圖重新模塊化古老的Java代碼,而當(dāng)下一個(gè)從事這一行業(yè)的女性開始使用現(xiàn)代模塊化Java框架時(shí),獲得豐富的經(jīng)驗(yàn),領(lǐng)先一步,在JDK 9上構(gòu)建下一個(gè)偉大的事物。另一方面,模塊化并不能解決技術(shù)上的麻煩。 如果您企業(yè)的關(guān)鍵任務(wù)軟件是無懈可擊的,那么除非行為發(fā)生敏捷變化,否則您將繼續(xù)承受債務(wù)。 我認(rèn)為,這就是Oracle JDK 9團(tuán)隊(duì)希望我們成為搶先體驗(yàn)的早期采用者,以便盡可能地測試其企業(yè)軟件的原因。
增強(qiáng)了將Java推入云的能力
在JavaOne 2015上,有很多關(guān)于微服務(wù)和構(gòu)建云企業(yè)應(yīng)用程序的想法和會(huì)議演講。 展覽中有一些云供應(yīng)商,例如JElastic,Red Hat,Pivotal和CloudFoundry。 Oracle發(fā)布了自己期待已久的云產(chǎn)品,稱為Oracle Java Cloud 。 具有諷刺意味的是,他們的PaaS解決方案提供了與Oracle Coherence集群的服務(wù)器,該公司以前稱為Tangasol。 Oracle前副總裁Cameron Purdy創(chuàng)建了這種早期的分布式網(wǎng)格和緩存解決方案,實(shí)際上,他的擁護(hù)者之一Brian Oliver早在2007年就參加了JAVAWUG BOF 26并就Coherence進(jìn)行了演講。
Kubernetes和Docker
Arun Gupta是討論Kubernetes (Google的Linux容器集群)的三位技術(shù)演講者之一。 有新的術(shù)語。 莢是共享IP和存儲卷的Docker容器的并置組。 服務(wù)是一組Pod的單個(gè),穩(wěn)定的名稱,還可以充當(dāng)負(fù)載平衡。 標(biāo)簽名稱值對已分配給容器。 在非正式的情況下,LIGHTWEIGHT與HEAVYWEIGHT之間的舊應(yīng)用程序服務(wù)器營銷戰(zhàn)(通常采用Java EE與Spring的模式)在本次JavaOne會(huì)議上退居二線。 如果您碰巧使用Docker或Vagrant以及諸如Chef或Puppet之類的配置管理工具,您可能會(huì)吐口水,因?yàn)槿绻V共?#xff08;重新)啟動(dòng)通過部署從Soup到Nuts配置的虛擬機(jī),配置文件,您不在乎WildFly服務(wù)器有多輕或有多重? 更重要的是要知道可以使用已部署的ACME.WAR啟動(dòng)WildFly 8.2,并且HTTP Undertow模塊已連接到秘密端口4123,該端口從外部映射到某些虛擬機(jī)上的端口80。 如果WAR文件是10MB或1MB,則您不再關(guān)心WAR文件的實(shí)際大小。
夢想微服務(wù)
戴安娜·馬什(Dianne Marsh)關(guān)于NetFlix開發(fā)人員的討論完全結(jié)束了。 許多人都在考慮這些想法,我懷疑很少有很少的組織能夠在企業(yè)內(nèi)部實(shí)踐這些想法,并且很少有敏銳的商業(yè)支持。 微服務(wù)需要運(yùn)營團(tuán)隊(duì)在跨職能部門(通常跨部門)工作。 在許多傳統(tǒng)的美國和英國投資銀行,其他大型商業(yè)機(jī)構(gòu),零售組織,數(shù)字設(shè)計(jì)機(jī)構(gòu)中都可以找到SILO驅(qū)動(dòng)工程,這是對Micro服務(wù)的厭惡。 因此,請繼續(xù)做夢,如果您幸運(yùn)或不幸地成為其中的一部分...最好的希望根本不是微服務(wù),但您可以重新考慮您的MONOLITH并嘗試使用COMPONENTISED APPLICATION,如果可以的話在您的企業(yè)體系結(jié)構(gòu)中,您應(yīng)該能夠獲得模塊化的MONOLITH,它比(意大利面條內(nèi)置的)MONOLITH更好。
Scala和Groovy
–今年,關(guān)于替代JVM語言的討論較少。 我參加了Ted Malaska的Apache Spark演講,這很有趣。 我還參加了Groovy中Cedric Champeau的“領(lǐng)域特定語言”演講。
JavaFX逐步移動(dòng)友好
JavaFX在臺式機(jī)上像往常一樣工作-令人驚訝的是,在今年的會(huì)議上,圍繞JavaFX的主題沒有創(chuàng)新,展示了新功能。 但是,由于Swing處于維護(hù)模式已經(jīng)有好幾年了,因此JavaFX的采用比以前更強(qiáng)。 Gluon正在投資對JavaFX的移動(dòng)跨平臺支持。 Gluon已經(jīng)接管了將JavaFX應(yīng)用程序移植到iOS和Android的工作。 對于臺式機(jī),JavaFX可能需要富文本編輯組件。 對于移動(dòng)設(shè)備,有JavaFXPorts 。 我懷疑該軟件團(tuán)隊(duì)的下一個(gè)巨大工作就是JavaFX 3D和媒體庫的幫助。
JavaScript影響
AngularJS在客戶端對JavaScript編程提供了一些支持。 在我自己的Digital Java EE 7演講中,我演示了AngularJS案例工作者應(yīng)用程序,并且在AngularBeans上還有另一個(gè)競爭性演講,將AngularJS與JSF混合在一起。 Oracle還宣布了自己的JavaScript擴(kuò)展工具包 ,該工具包基于Knockout.js,JQuery,JQuery UI和RequireJS。 Kito Mann在Polymer網(wǎng)站組件上進(jìn)行了演講。 當(dāng)然,對于那些有興趣在JVM服務(wù)器端運(yùn)行JavaScript的企業(yè),也有Nashorn技術(shù)會(huì)議。
無容器構(gòu)建
人們肯定對Spring Boot感興趣,并且可能是WildFly Swarm ,正是出于與可能在微服務(wù)上出售相同的原因。 顯然,最大的區(qū)別是圍繞Hot JVM類重載和動(dòng)態(tài)資源的技術(shù)支持。 這些擴(kuò)展解決方案與應(yīng)用服務(wù)器中的WAR部署投資背道而馳,這并不奇怪,盡管該規(guī)則的例外是帶有Scala(和Java)的Play Framework。 諸如JetBrain的IDEA 15和Netbeans 8.1之類的IDE允許通過HOT更改進(jìn)行交互式和實(shí)驗(yàn)性開發(fā)。 dvelopers可以對Java代碼進(jìn)行合理的更改,更重要的是可以更改CSS,頁面viewS和JavaScript文件,而無需重新啟動(dòng)應(yīng)用程序。 借助Micro服務(wù)及其親密的同僚,他們在WildFly Swarm和Spring Boot中構(gòu)建了無容器構(gòu)建,這種高度交互的模式(我在Bret Victor中進(jìn)行頻道介紹-在這里發(fā)明原理 )被取消了。 在WildFly Swarm的情況下,最大的問題是它們還沒有爆炸式,可動(dòng)態(tài)重裝的ShrinkWrap實(shí)現(xiàn),它可以允許JVM重載類和Web資源。 唯一的解決方法是可能用APPLE-IDIOMATIC-SPLIT-TEAMS-SECRET方法編寫應(yīng)用程序。 用戶界面設(shè)計(jì)團(tuán)隊(duì)開發(fā)了一個(gè)新的前端,該前端負(fù)責(zé)按標(biāo)題,標(biāo)題,圖形和描述顯示產(chǎn)品列表。 服務(wù)器端團(tuán)隊(duì)編寫遠(yuǎn)程端點(diǎn)服務(wù)以查詢數(shù)據(jù)庫。 前后團(tuán)隊(duì)在REST API或Web界面上達(dá)成共識,但他們對產(chǎn)品本身或說明一無所知。 他們將使用模擬數(shù)據(jù)進(jìn)行測試。 高管將在發(fā)布前用Apple iPhone Invisible Edition 5150以及所有相關(guān)信息,標(biāo)題,標(biāo)題,英雄圖形,配件,描述和價(jià)格填充產(chǎn)品數(shù)據(jù)庫。 對于蘋果公司來說,這是一個(gè)很好的解決方案,因?yàn)樗且患襅ool-Aid公司,對較小的團(tuán)隊(duì),中小型企業(yè)甚至一人(和一人򊰥�通常,您需要一個(gè)完整的堆棧解決方案,您可以從頭到尾完全使用它,反之亦然。無容器則非常適合RESTful端點(diǎn)和服務(wù)器。 代碼Hale的DropWizard向我們展示了如何實(shí)現(xiàn)這一目標(biāo)。對于Java的Web前端工作還不太好(尚未)。
詹姆斯寫Java
Mike Duigou的演講James編寫Java:我通過閱讀James Gosling的代碼[CON3563]所學(xué)到的知識 –這真是一場精彩的會(huì)議。 我很高興看到這個(gè)直播,因?yàn)樗屛蚁肫鹆瞬灰诰幋a中沾沾自喜的想法。 詹姆士·高斯林(James Gosling)絕對會(huì)繼續(xù)用自己的知識來擴(kuò)展編碼。 還有改進(jìn)的空間。
Java至少還有20年的生命。 從23歲(初級工程師)到63歲(ACME / PEABODY的首席架構(gòu)師和靜態(tài)代碼),完全有可能在Java平臺上工作。 我認(rèn)為這當(dāng)然是可以實(shí)現(xiàn)的。 Java編程語言和JVM之外的其他行業(yè)實(shí)踐將對該生態(tài)系統(tǒng)產(chǎn)生深遠(yuǎn)影響。 硬件將不斷擴(kuò)展。 JVM將不得不處理1TB RAM和垃圾回收。 確實(shí),這是JVM工程團(tuán)隊(duì)的下一個(gè)增長領(lǐng)域。 JDK 10應(yīng)該希望看到值類型來幫助進(jìn)行內(nèi)存分配。 在服務(wù)器端,云仍然是新的前沿領(lǐng)域,因?yàn)樗圆淮_定藍(lán)領(lǐng)Java開發(fā)人員將如何決定云的價(jià)值。
在用戶體驗(yàn)方面,JavaFX使富客戶端接口的壽命延長了。 JavaScript非常適合Web瀏覽器和HTML5,CSS元素,但是對于重型圖形動(dòng)畫,聲音和媒體渲染,富客戶端是應(yīng)用程序的必需。 畢竟,本機(jī)移動(dòng)開發(fā)中可能有一個(gè)冗長的尾巴,Java和JavaFX只能位于LOCKED-IN平臺兩個(gè)據(jù)說不可逾越的WALL GARDENS之上。 如果Java坐著,潛行并潛伏在那里,那么機(jī)會(huì)就來了,它偶爾會(huì)做一次,然后繼續(xù)前進(jìn)。 但是,將需要專門的發(fā)燒友和小型敏捷的創(chuàng)新型初創(chuàng)公司保持壓力,并確保移動(dòng)開發(fā)的UNIVERSALITY繼續(xù)進(jìn)行。 我相信這是有機(jī)會(huì)的,因?yàn)橐苿?dòng)芯片組將在10年內(nèi)成倍增長。 看看JavaFX和其他JavaScript橋接解決方案在短短幾年內(nèi)(更不用說20年)將我們帶到何處,將會(huì)很有趣。
Java MODULE系統(tǒng)是巨大的機(jī)會(huì)。 它是最終的DESIGN-FOR-REPLACEMENT功能,而不是Java編程中的功能,而是Java虛擬機(jī)和JDK發(fā)行版中的功能。 我們,開發(fā)人員,設(shè)計(jì)師和建筑師是否會(huì)永遠(yuǎn)使用它? 我們將在SOLID的修改中使用它嗎? 還是我們會(huì)以某種方式濫用它? 模塊化可能位于標(biāo)尺的兩個(gè)相對端,并且比例不同:物聯(lián)網(wǎng)和微服務(wù)分布式應(yīng)用程序模塊。 就硬件和軟件而言,未來很難預(yù)測。 我們唯一能做的就是參與其中,并不斷前進(jìn)。 讓我們一起享受旅程吧。
+ PP +
Arun Gupta,用于通過微服務(wù)和容器重構(gòu)Java EE應(yīng)用程序(CON1700)
拉斐爾·貝內(nèi)維德斯(左)和安東尼·杜randint(右)
Stephen Chin在Raspberry Pi,Oracle Demogrounds和JCP Hackergarten上焊接
徽章2015
這是給Java冠軍和Googler同事Kevin Nilson的。 凱文的兒子正在JavaOne 2015的Ignite會(huì)議上講話!
翻譯自: https://www.javacodegeeks.com/2015/11/javaone-2015-the-twentieth-edition-ten-takeaways.html
javaone
總結(jié)
以上是生活随笔為你收集整理的javaone_JavaOne 2015 –第二十版十大收获的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 侦听127.0.01_Spring 4.
- 下一篇: 联想集团招聘(联想集团招聘电话)