如果您在2016年编写过Java代码-这是您不容错过的趋势
2016年最有趣的Java相關(guān)主題
關(guān)于代碼,有很多熱門(mén)話題,而要跟上所有事情,這是一項(xiàng)全職的工作。 如果您想知道如何從谷殼中分離出小麥,我們已經(jīng)為您完成了工作。
在下面的文章中,我們將介紹2016年最熱門(mén)的內(nèi)容,以及來(lái)年將變得更熱門(mén)的內(nèi)容。 Java明智,當(dāng)然。 準(zhǔn)備像2017年一樣編寫(xiě)代碼。
Java 9,你真好,讓我心碎
我們以Java 6中的一個(gè)錯(cuò)誤開(kāi)始了這一年,該錯(cuò)誤將變成Java 9中的一個(gè)功能: sun.misc.Unsafe 。 該庫(kù)是用于執(zhí)行低級(jí),不安全操作的方法的集合。 例如,使用allocateInstance方法可讓您跳過(guò)對(duì)象初始化階段或繞過(guò)構(gòu)造函數(shù)中的安全檢查。
盡管Oracle曾考慮完全刪除Unsafe庫(kù),但是社區(qū)能夠改變主意并將其轉(zhuǎn)變?yōu)镴ava 9功能。
這不是社區(qū)唯一一次談?wù)揓ava 9或整個(gè)Java未來(lái)版本中的可能更改。 今年早些時(shí)候,Oracle Java語(yǔ)言架構(gòu)師Brian Goetz發(fā)布了JEP 286的調(diào)查結(jié)果。
該提案建議在Java的未來(lái)版本中引入局部變量類(lèi)型推斷,以簡(jiǎn)化Java應(yīng)用程序的編寫(xiě)。 底線? 74%的開(kāi)發(fā)人員希望較少的冗長(zhǎng)性 ,并且能夠在無(wú)需指定關(guān)聯(lián)類(lèi)型的情況下聲明變量。
距離 Java 9發(fā)行還有200多天的時(shí)間(而且我們知道,因?yàn)槲覀円寻l(fā)布的天數(shù)計(jì)算在內(nèi)),所以我們有足夠的時(shí)間來(lái)研究不同的JEP并找到新的和改進(jìn)的功能。 這就是我們遇到的JEP 266:更多并發(fā)更新,其中包括CompletableFuture和令人興奮的java.util.concurrent.Flow類(lèi)的更新。
毫無(wú)疑問(wèn),Java 9在過(guò)去的一年中一直是頭條新聞,隨著我們進(jìn)入2017年,它將繼續(xù)得到越來(lái)越多的關(guān)注。現(xiàn)在我們要做的只是等待,希望它不會(huì)再次延遲 。
Java EE呢?
對(duì)于Java Enterprise Edition(也稱(chēng)為Java EE)來(lái)說(shuō),2016年是有意義的一年。 由于它建立在Java SE之上,因此一直是全球Java社區(qū)困惑的根源。 正式地,它只是一個(gè)規(guī)范,其中包含Oracle以及RedHat和IBM等其他供應(yīng)商提供的實(shí)際實(shí)現(xiàn)的實(shí)際實(shí)現(xiàn)(例如Glassfish參考實(shí)現(xiàn))。
Java EE圍繞著很多問(wèn)號(hào),主要問(wèn)題是“ Oracle是否放棄了企業(yè)軟件? ”,但對(duì)Java EE的致命打擊來(lái)自Gartner的“ 應(yīng)用程序平臺(tái)市場(chǎng)指南 ”報(bào)告。 Gartner在報(bào)告中指出,Java EE是為“不再滿足現(xiàn)代應(yīng)用程序需求的過(guò)時(shí)模型”構(gòu)建的。 哎喲。
Java EE社區(qū)說(shuō)Gartner不太正確,這再次引發(fā)了圍繞該版本的討論。 Java EE 8預(yù)計(jì)將于2017年上半年發(fā)布,我們猜測(cè)現(xiàn)在對(duì)其進(jìn)行頌揚(yáng)還為時(shí)過(guò)早。 但是,我們將不得不等待,看看Java EE如何以及是否崩潰。
Java還有很多
Java不只是Java 9,還有很多趨勢(shì)需要您掌握。 一個(gè)不錯(cuò)的起點(diǎn)是瀏覽2016年排名前100的Java庫(kù) ,檢查在過(guò)去一年中您可能錯(cuò)過(guò)了什么。
另外,如果您的Java程序庫(kù)是庫(kù),那么還有一些有趣的Google Java庫(kù) (不是Guava),值得一試。
遵循教育路線,有一些關(guān)鍵要素只有在您變得更有經(jīng)驗(yàn)時(shí)才可以學(xué)習(xí) ,并且準(zhǔn)備開(kāi)放思想并學(xué)習(xí)是很好的。
如果您正在尋找挑戰(zhàn),那么有很多值得您花費(fèi)時(shí)間的項(xiàng)目 。 您可以解決問(wèn)題,使用String進(jìn)行操作,甚至還可以使用Java音樂(lè)播放器進(jìn)行學(xué)習(xí)并從中學(xué)習(xí)。 當(dāng)然,如果您遇到任何問(wèn)題或疑問(wèn),則可以使用Stackoverflow。 這是我們發(fā)現(xiàn)的7個(gè)最佳問(wèn)題 。
有趣的小故事:您能猜出GitHub的頂級(jí)Java項(xiàng)目如何使用日志嗎? 因?yàn)槲覀円呀?jīng)分析了1,313個(gè)GitHub存儲(chǔ)庫(kù)中的779,236條Java日志記錄語(yǔ)句 ,以找出答案:錯(cuò)誤,警告還是致命?
將Java放入容器中
容器非常適合在除夕夜聚會(huì)中使用零食,并且在管理Servlet的生命周期,將URL映射到特定Servlet并確保URL請(qǐng)求者具有正確的訪問(wèn)權(quán)限時(shí),它們也非常方便。
Java容器引起了很多興趣。 幾個(gè)月前的一次OverOps支持聊天激起了我們對(duì)Alpine Linux和Docker結(jié)合的興趣,從那時(shí)起,我們看到越來(lái)越多的用戶(hù)使用其容器對(duì)其進(jìn)行嘗試。
這就是為什么我們決定檢查Alpine Linux的原因, Alpine Linux是一種獨(dú)立的精簡(jiǎn)版Linux,基于musl libc(發(fā)音為“ muscle”)和busybox。 除了輕量級(jí)之外,它還面向安全性并使用grsec / Pax,這是Linux內(nèi)核的安全性增強(qiáng)。
Docker仍然是業(yè)界最熱門(mén)的工具之一。 該公司承擔(dān)了運(yùn)輸代碼的艱巨任務(wù),并使用容器使其變得更快,更容易。 但是,如果您正在考慮在Docker上使用Java,則可能必須重新考慮它,因?yàn)樗赡軙?huì)導(dǎo)致您違反(Java)法律 。
那么DevOps呢?
我們知道您在想什么-在這里我們用流行語(yǔ)。 我們?cè)?016年遇到的最常見(jiàn)的主題之一是DevOps,它具有多種含義和工作方法。 它的主要要旨在于了解實(shí)時(shí)應(yīng)用程序中會(huì)發(fā)生什么并能夠?qū)ζ溥M(jìn)行控制。
我們?cè)撛趺醋?#xff1f; 通過(guò)監(jiān)控我們的生產(chǎn)環(huán)境。 性能問(wèn)題,錯(cuò)誤和異常一直在發(fā)生,我們必須知道發(fā)生了什么。 但是,我們?nèi)绾慰创螘r(shí)以及為什么發(fā)生某些問(wèn)題呢? 這就是“ 可觀察性 ”概念出現(xiàn)的地方,以幫助我們深入了解系統(tǒng)并了解實(shí)際發(fā)生了什么。
它是DevOps工作流程的一部分,并且在控制理論中,它是衡量通過(guò)了解系統(tǒng)外部輸出可如何推斷系統(tǒng)內(nèi)部狀態(tài)的方法。 這是另一個(gè)“流行語(yǔ)”出現(xiàn)的地方: Instrumentation 。 這是使我們能夠在應(yīng)用程序?qū)ξ覀兒臀覀兊挠脩?hù)造成麻煩之前獲得對(duì)應(yīng)用程序的了解的原因。
建立了這些基礎(chǔ)之后,就該推出可以幫助我們監(jiān)控應(yīng)用性能的工具了。 一旦應(yīng)用程序啟動(dòng)并運(yùn)行,我們需要知道是否以及何時(shí)引發(fā)錯(cuò)誤或異常。 這就是為什么市場(chǎng)上有許多錯(cuò)誤跟蹤工具的原因,而您要做的就是為您選擇合適的工具。
錯(cuò)誤不是唯一需要引起我們注意的問(wèn)題,2016年最大的挑戰(zhàn)是處理日志文件。 每個(gè)人都使用它們來(lái)搜索和了解其應(yīng)用程序中的錯(cuò)誤,崩潰和異常。 有些使用直接方法并在純文本日志文件中進(jìn)行篩選,而另一些則依靠日志管理工具來(lái)幫助他們?cè)谌罩静荻庵胁檎义e(cuò)誤。
日志文件在2016年仍然很爛
如果您正在尋找一種調(diào)試生產(chǎn)錯(cuò)誤和異常的新方法,則OverOps ( 在2016年進(jìn)行了改造 )為您提供了整個(gè)調(diào)用堆棧的完整源代碼和變量狀態(tài)。 傳遞到導(dǎo)致失敗的事務(wù)或工作流程中的每個(gè)參數(shù)和每個(gè)變量。
這個(gè)和那個(gè)
忽略微服務(wù)的趨勢(shì)已變得不可能。 有些人會(huì)說(shuō)這只是另一個(gè)難以忍受的流行語(yǔ),而另一些人會(huì)背誦打破巨石的優(yōu)勢(shì)或采取逆勢(shì)方法并關(guān)注負(fù)面因素。
但是,從任何角度看,這些天似乎每個(gè)人都在使用微服務(wù)。 現(xiàn)在,您只需要注意不要在使用過(guò)程中增加任何東西 。
在過(guò)去的幾年中, 無(wú)服務(wù)器計(jì)算體系結(jié)構(gòu)也得到了關(guān)注。 無(wú)服務(wù)器計(jì)算的概念談?wù)摰氖遣渴鸫a,而不是服務(wù)器。 云提供商不是購(gòu)買(mǎi),管理和擴(kuò)展服務(wù)器,而是處理對(duì)虛擬機(jī)的請(qǐng)求的提供商。
因此,您仍然需要服務(wù)器,但是這種新模型使您無(wú)需承擔(dān)責(zé)任。 換句話說(shuō),處理服務(wù)器上的部署或任何類(lèi)型的已安裝軟件都沒(méi)有麻煩。 基本上,您需要的只是托管的云服務(wù)和計(jì)算機(jī)。
最后,即使他們已經(jīng)存在了一段時(shí)間,也感覺(jué)每個(gè)人都在談?wù)撊斯ぶ悄芎蜋C(jī)器學(xué)習(xí) 。 對(duì)于科學(xué)家和研究人員而言,它已不再是秘密,幾乎可以在任何新興技術(shù)中實(shí)現(xiàn)。
最近在這一領(lǐng)域的嗡嗡聲和發(fā)展使非研究者更容易使用它。 現(xiàn)在,您可以輕松訪問(wèn)相關(guān)的算法和工具。 您確實(shí)必須知道自己在做什么,但是使用機(jī)器學(xué)習(xí)功能來(lái)增強(qiáng)應(yīng)用程序要容易得多。
向社區(qū)大喊
您一定喜歡Java社區(qū)。 它們不僅會(huì)影響該語(yǔ)言的未來(lái)版本,還會(huì)通過(guò)聚會(huì),有關(guān)Java一切的文章和信息不斷豐富我們。 2016年有一些非常令人驚嘆的會(huì)議,例如JavaOne , QCon和更多精彩的演講,您可以立即重新觀看 。
觀看在線講座和視頻是學(xué)習(xí)軟件開(kāi)發(fā)新事物的主要資源之一。 它是Java專(zhuān)家與我們分享經(jīng)驗(yàn)的絕佳平臺(tái),而無(wú)需坐下來(lái)。
或者,如果您不是視頻類(lèi)人,那么遍歷Java平臺(tái)也可以使您隨時(shí)了解最新信息和趨勢(shì)。
但是同伴的支持在我們工作的各個(gè)方面都至關(guān)重要,我們可以從周?chē)娜四抢飳W(xué)到很多東西。 一項(xiàng)關(guān)鍵功能是提高生產(chǎn)力,因?yàn)槭冀K存在改進(jìn)的空間。 我們要做的就是準(zhǔn)備接受建議 ,并聽(tīng)取愿意發(fā)言的人的意見(jiàn) 。
不要忘了開(kāi)源
社區(qū)的另一個(gè)關(guān)鍵要素是支持開(kāi)源項(xiàng)目并為之做出貢獻(xiàn)。 實(shí)際上,我們已經(jīng)啟動(dòng)了您一直在等待(或不等待)的命令行工具– Bullshifier 。 它用于在可笑的大型代碼庫(kù)上測(cè)試我們的某些監(jiān)視功能,其中事務(wù)進(jìn)行了數(shù)千次調(diào)用,上千個(gè)類(lèi),并且最終會(huì)產(chǎn)生異常。
最后的想法
2016年,我們遇到了很多話題和流行語(yǔ)。一些我們已經(jīng)知道,一些全新的詞使我們以完全不同的方式看待Java。 現(xiàn)在,我們期待著Java 9的到2017年,并希望有更多新的,令人驚奇的功能,演講,項(xiàng)目,甚至是一個(gè)新的流行語(yǔ)或2。
您最喜歡2016年的Java功能,演講或主題是什么? 我們希望在下面的評(píng)論中聽(tīng)到有關(guān)它們的信息。
翻譯自: https://www.javacodegeeks.com/2016/12/youve-written-java-code-2016-trends-couldnt-missed.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的如果您在2016年编写过Java代码-这是您不容错过的趋势的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 除 USB-C 外,苹果新款 AirPo
- 下一篇: permgen_什么是PermGen泄漏