當前位置:
首頁 > 知識 > 2019 年的軟體趨勢 | ImportNew 一周資訊

2019 年的軟體趨勢 | ImportNew 一周資訊

(點擊

上方公眾號

,可快速關注)


來源:lmportNew - 唐尤華

ImportNew小編為您搜集有關Java業界、資源一周資訊(2019.1.3)。



(內容無特殊說明均為英文,這裡僅做摘編,點擊鏈接可直達原文。)

1. 2019軟體趨勢:來自 pivotal

解讀:又到了一年總結和展望的時候了,看看 Pivotal(Spring)公司帶來的2019年軟體趨勢關鍵詞。



  • 敏捷



  • 人工智慧應用和機器學習



  • 區塊鏈



  • 容器



  • 數據



  • 設計



  • 醫療



  • IT現代化及改造



  • Kubernetes



  • 微服務



  • 開源



  • 零售



  • 安全



  • Serverless



  • 軟體工程師

每個主題都邀請了資深的專家進行解讀,完整內容可點擊原文查看。

2. Java 還是免費的:來自 javaadvent

解讀:自從 Oracle 宣布了有關 Java 的一些重大計劃,關於 Java 未來是否免費使用這個問題網上有很多討論。

這篇文章做了詳細的總結:



  • 正在使用 Java SE8,又想未來免費使用,該怎麼做?

    2019 年以後,Oracle Java SE8 的不是免費更新了。這時,可以選擇 OpenJDK,比如Linux 發行版、AdoptOpenJDK、Azul、IBM、Red Hat 或其他版本。



  • 正在使用 Java SE11,又想未來免費使用,該怎麼做?

    可以有兩種選擇:使用 Oracle OpenJDK 遵循(GPLv2+CE)開源協議,或者選擇 OpenJDK,比如Linux 發行版、AdoptOpenJDK、Azul、IBM、Red Hat等其他版本。

3. Java 11: HTTP Client 新API:來自 javacodegeeks

解讀:Java 9 里引入的 HTTP Client 新 API,在 Java 11 里成為了標準 API。這篇文章通過例子介紹了新 API 的特性,連接 URL 的代碼更簡單,可以方便地管理請求參數、cookie 和 session,支持非同步請求與 WebSocket。官方 API 文檔:


https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/package-summary.html

4. 在 Ubuntu 18.04 上安裝真的 OpenJDK 11:來自 javacodegeeks



解讀:2018年9月25日,OpenJDK 11 發布了,安裝的軟體名稱 openjdk-11-jdk,這是 OpenJDK 8 版本之後首個 LTS 版本。作者安裝後發現,OpenJDK 11 看起來還是預覽版(JDK 10)。通過命令安裝,

% apt-get

install

default-jdk

version 參數給出的版本是 10.0.2。
要真的安裝 OpenJDK 11 還是要下載後手動安裝。


$

/usr/lib/jvm/jdk-11/bin/java

-version

openjdk version

"11"

2018-09-25

OpenJDK Runtime Environment 18.9 (build 11+28)

OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

5. Java: 堆外內存中的聚合數據:來自 javacodegeeks



解讀:文章介紹了針對大量堆外內存(off-heap)中的聚合數據,最小化垃圾回收帶來的影響,同時最大提升內存利用率。作者給出的答案是 Speedment Stream ORM


https://www.speedment.com/initializer/

聲稱可以做到提高內存利用同時對垃圾回收幾乎沒有影響。

文章中通過一個例子介紹了 Speedment API 的使用。從 Speedment API 官網白皮書和演示視頻中了解到,該項目主要目標是通過改進框架提升訪問 ORM 效率。ORM 是核心產品,超過一定數據量(500M)會收費。Speedment 聚合 API 是 ORM 底層技術的一部分。

6. Eclipse Collections 的隱藏福利:來自 javacodegeeks

解讀:Eclipse Collections 是一個開源集合框架,這篇文章介紹了幾個雖不常用但很強大的 API,distinct()、partition()、selectInstancesOf()、chunk()、as vs to 命名規範。



  • distinct():找出 List 中唯一的元素通常用到 Set,但這麼干會喪失原有的序列,distinct 可以解決這個問題



  • partition():對傳入列表通過 Predicate 一次性處理(選擇或拒絕)



  • selectInstancesOf():對傳入列表過濾屬於某個 class 的實例



  • chunk():按照指定的列表大小拆分 iterable 輸入,得到子集合



  • 用 as vs to 命名 API:更好地遵守 Java 方法命名規範,


https://blog.joda.org/2011/08/common-java-method-names.html

7. Java: 把 JDBC ResultSet 轉為 CSV:來自 javacodegeeks



解讀:這是一段實用的小例子,作者介紹了如何把 JDBC ResultSet 轉成了 CSV。不僅如此,還有 ResultSet 轉 JSON。GitHub地址:


https://github.com/sharfah/java-utils/tree/master/src/main/java/com/sharfah/util/sql


推薦閱讀


(點擊標題可跳轉閱讀)

ImportNew 一周資訊 : JDK 9 , 10 與 11 中的安全改進



ImportNew 一周資訊 : 開發者應該了解的 RabbitMQ 最佳實踐



ImportNew 一周資訊 : 2018 值得關注的 9 個代碼與框架相關趨勢


看完本文有收穫?請轉發分享給更多人


關注「ImportNew」,提升Java技能


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 ImportNew 的精彩文章:

一份不能錯過的 Docker 實戰指南
AOP 那點事兒 ( 續集 )

TAG:ImportNew |