一起看看 2019 年的軟體趨勢

程式設計師私房菜發表於2019-01-04

來源:lmportNew - 唐尤華

1. 2019年軟體趨勢

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

  • 敏捷

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

  • 區塊鏈

  • 容器

  • 資料

  • 設計

  • 醫療

  • IT現代化及改造

  • Kubernetes

  • 微服務

  • 開源

  • 零售

  • 安全

  • Serverless

  • 軟體工程師

2. Java還是免費的

解讀:自從 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. Java11:HTTP Client新API

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

4. 在Ubuntu 18.04上安裝真的OpenJDK 11

解讀: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:堆外記憶體中的聚合資料

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

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

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

6. Eclipse Collections的隱藏福利

解讀: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

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558358/viewspace-2305557/,如需轉載,請註明出處,否則將追究法律責任。

相關文章