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