歡迎光臨
每天分享高質量文章

Java月報:2019年2月

(給ImportNew加星標,提高Java技能)

 

來自:唐尤華

https://dzone.com/articles/java-annotated-monthly-february-2019

 

Java Annotated Monthly 由 JetBrains 釋出,相關資源與文章請點選英文原文連結

 

一月份有許多文章回顧了2018年 Java 技術,並對2019年進行了展望。這篇月報對去年進行了總結,並對新的一年充滿期待。出於某種原因,月報中還包含了許多 Java 教程,也許每個人都決心從寫部落格開始新的一年吧!

 

1. 總結2018,展望2019

 

  • 2019年,安全加入了 DevOps 大家庭:我原本以為 DevSecOps 已經成熟了?
  • 2018年,DevOps 教給了我們什麼:它非常有用,我們應該做得更多!
  • 關於容器(Container)去年我們瞭解到的內容:這裡列出了2018年熱門文章串列
  • 2018年 GraalVM 進展:快馬加鞭追上 GraalVM,它一定能出現在2019年的名單中!
  • InfoQ 2018回顧以及對2019年的期望
  • 2018 InfoQ 編輯推薦閱讀書目:第一部分
  • 2018 InfoQ 編輯推薦閱讀書目:第二部分
  • 關於2019年 Java 的一些預測:同樣來自 InfoQ
  • 2019凝視我的 Java 水晶球:來自 Azul Systems

 

2. Java 新聞

 

下麵是一些與 Java 相關的新聞,主要的包括 Raw String Literals 不會出現 Java12 預覽版本中,但好訊息是 Java 12 功能已開發完成並準備在三月份釋出。

 

  • 書評:最佳化 Java:無論你是否必須在日常工作中最佳化,它都是面試時需要知道的知識(以防新年中你決心找一份新工作)
  • 顯式命名自動 Java 模組:或者說,開發庫實際上不應該依賴自動生成的模組名稱
  • IBM 與 Java:展望未來
  • Java 語言架構師 Brian Goetz 談 Java 與 JDK(語音播客帶文字總結)
  • Jep 建議從 JDK12 預覽版中刪除 326 Raw String Literals:雖然這是個不幸的訊息,但還是希望以後能正常釋出
  • Raw String Literals 從 Java12中刪除,被加入凍結功能串列
  • Netflix OSS 與 Spring Boot:全面回歸
  • 船長,我們需要更多的關鍵字!再一次地,Java 語言開發人員面臨了這個問題。如何更新 Java 語言,既要保持向後相容又不會破壞已有的工作
  • JDK 12 String::transform 方法既簡短又複雜的歷史
  • 亞馬遜 Corretto8 已基本可用
  • 對我們的 Tagir Valeev 來說,好訊息是:

 

 

我得到了最棒的禮物!感謝 @stuartmarks 和所有為我投票的人! #OpenJDKpic.twitter.com/TOhB2Bk30f

  • Tagir Valeev(@tagir_valeev) 2018.12.22

 

3. Java 教程與技巧

 

下麵是一大波 Java 教程:包括標準 Java (從 Java8 到 Java11,甚至包括了一些未來釋出的特性)、 Spring 和 Spring Boot、 MicroProfile、 Micronaut 以及微服務、經典的設計樣式等等。

 

  • 剖析 Java 本地變數型別推斷(Var Type):var 只有三個字母,但是理解如何使用以及在哪裡使用 var 遠比你想象的要複雜得多
  • Eclipse Collections 的19個練習
  • 你應當知道的編寫更好 Java 程式碼的7個技巧:你已經知道了這些技巧,這裡只是再次讓自己回顧一遍。 也許可以把它們打印出來隨時翻看
  • 遷移到 Java11 你需要知道的這些:這篇文章可以追溯到2018年,但它又出現在我的 Twitter feed 中,值得再次閱讀
  • 使用 JAX-RS 和 MicroProfile 實現非同步 REST:這是一篇對非同步 REST 很好的介紹,文中還介紹了一些 MicroProfile 開發技巧
  • 如何用 MicroProfile 編寫響應式應用程式
  • 使用 JUnit 建立測試階段:可以在持續交付流程中設立階段
  • Java 中的設計樣式: 單例樣式:你可能永遠不應該使用單例樣式,但是你需要知道這些東西,因為它是一個極受歡迎的求職面試問題
  • 使用行為驅動開發和麵向介面的設計:設計微服務時 BDD 是一種很好的方式
  • Java 行為驅動開髮指南:似乎非常有用,理由參見上面的文章
  • Java Steam 中的異常處理:因為 lambda 的受檢異常非常糟糕
  • 門面(Facade)樣式:門面樣式一種很好的方法,有助於遷移遺留程式碼、隱藏介面後面混亂的實現並逐步重構
  • 五個黃金重音符:這是一篇原始字串文字的指南,不過它們是 Java12 中提取的功能。 所以,請看看這個部落格
  • 六角形 Java 架構:這是我喜歡的架構樣式,文章給出了一個非常簡單的例子
  • 重新評估分層架構:3層架構或許過時了,可以有其他選擇(比如六角形架構)
  • 如何使用 Java 的函式式 Consumer 介面實體:由於採用了 lambdas 實現(透過函式式介面),有時候可能比你想象的要複雜
  • Java 解剖公園#21:未提交的堆疊:深入 JVM 內部機制
  • Micronaut for Spring 允許 Spring Boot 應用作為 Micronaut 應用方式執行:還包括 Graal,感覺只是為了加入更多時髦的技術詞彙
  • 基於現代 Java 技術棧的微服務架構:JDK 11、Kotlin、Spring5 與 Spring Boot 2、Gradle 5(支援 Kotlin DSL)、JUnit5 以及 Spring Cloud
  • 排名前5的 Java 多執行緒和併發課程:大多數是付費課程。理解併發機制有助於瞭解程式背後發生了什麼,但以我的經驗,這些知識對回答面試問題最有用
  • 用 Java 方法修飾符可以避免 public 方法的反樣式:雖然很好理解,但讓我很吃驚的是文章竟然沒有提到 Java9 引入模組以後 “public” 的定義發生了怎樣的變化
  • Java 中的小物件有什麼問題?:額,沒有影響?開發人員當然應該意識到 Object 和原始型別之間的區別,但是大多數應用程式中,我們不需要為記憶體使用過度焦慮
  • 在 JDK 11 中使用 Java Packager:這是一篇關於即將釋出的打包工具教程(可能加入 Java13?)
  • 一頭扎進 Java 學習:每週六更新一篇 Java 測驗

4. Java 語言、框架、開發庫和技術

 

本月另一個重點是測試(在新年裡決心編寫更好的自動化測試)。關於 Docker/Kubernetes,這兩項技術似乎已經跨過了“很酷和即將來臨”階段,成為了我們現在使用的技術。

 

  • Headless Selenium 瀏覽器:支援多種引數用 Selenium 進行自動化 UI 測試
  • 用 Selenium WebDriver 跨瀏覽器測試教程:與 Selenium WebDriver 親密接觸
  • 如何實現微服務通訊:對常用方法進行了概述
  • Kubernetes vs Docker: 最具影響力的開源專案:這些技術正變得越來越常見,這篇文章是一份入門指南,供那些正在迎頭趕上的人參考
  • 利用 Google 雲平臺為 Docker Kubernetes 專案建立持續整合(CI)與持續交付(CD)流程
  • 使用微服務與 Kubernetes
  • Kubernetes 未來的方向是虛擬器:好吧,讓我們忘掉 Docker 吧
  • 混沌工程是什麼要走向何方(影片):譯註,混沌工程(Chaos Engineering)是基於軟體的服務被實現為具備複雜行為和故障樣式的分散式系統
  • 理解區塊鏈基礎及使用案例:如果區塊鏈出現在你的新年任務串列中,值得一看
  • M220j:為 Java 開發者準備的 MongoDB 教程:M220j 是一個針對 Java 開發者的新課程。在課程的介紹影片裡,你甚至可以看到熟悉的 JetBrains 介面。課程中使用 IntelliJ IDEA 講解
  • 令人抓狂的連線池:換句話說,預設的連線池配置通常效能很糟,應該針對你的具體應用場景進行配置
  • 減少加法操作:更近距離地觀察編譯器是如何工作的

5. 文化與社群

 

這個月有一個關於職業倦怠的主題,每當一年結束和下一年開始的時候都會產生倦怠感。 退一步思考下列問題是正常的:我們究竟做了多少工作,工作的效率如何,對工作的感覺如何,以及我們希望做些什麼。

 

  • 剋服軟體截止日期壓力的3個優先順序技巧
  • 如何創造更多的時間:戰勝待辦事項清單的終極策略:這篇文章幫助我們理解為什麼總是感覺自己沒有效率以及應對方法
  • 如何激發你的創造力——愛因斯坦的方法:請記住,軟體開發是一種創造性過程。譯註:這篇文章介紹了“組合遊戲(Combinatory Play)”的概念、方法及應用
  • 如何恰當地在軟體開發中減速,達成“慢就是快”
  • 即插、即用、重覆:提升專註高效的最佳策略
  • 遠端工作者戰勝“隱士”習慣的7種奇怪方法:好訊息是,如果你家裡有正在上學的孩子,並且由你負責孩子學校教育的話,你已經在做這些事情了
  • 保持線上:如何在分散式團隊中工作
  • Alexandria Ocasio-Cortez 關於種族主義演演算法的說法是絕對正確的:或者說,電腦程式畢竟是由人編寫的
  • 利用人工智慧促進工作場所的團隊包容性:包容性有助於是改善和彌補多樣性的不足之處
  • 著手重新構建一個系統是成功的標誌:或者說,如果應用程式雖然功能沒問題,但並沒有按照你的方式構建,不要自責
  • 僱傭並留住開發人員——創造偉大的團隊:換句話說,僱傭開發人員是很難的
  • 維護開發者關係的專業建議:內容包含一些來自 Trisha Gee 的技巧

 

6. 最後

 

這是一個瞭解 IntelliJ IDEA 和其他 JetBrains 產品新聞的機會,你可能已經錯過:

 

  • Intellij IDEA 2019.1 EAP 已經啟動。

 

我們將在 Twitter 上再一次分享 IntelliJ IDEA 使用技巧,請關註我們!

 

如果你有任何有趣或有用的 Java/JVM 新聞可以透過 Java Annotated Monthly 分享,請留言或透過 Twitter 給我留言。

    贊(0)

    分享創造快樂