JDK 23 功能:JEP 471 棄用 sun.misc.Unsafe 中的記憶體存取方法
為了達成 Write once, run anywhere 的目標,早期的 Java 平台中隱含了未正式開放的程式碼,以利程式在不同的作業系統中與記憶體溝通。近長年 Java 開發社群一直在努力提升 Java 平台的安全性和可靠性。在 JEP 454 發表之後,JDK 23 中 JEP 471 提出要棄用並最終移除 sun.misc.Unsafe 類別中的記憶體存取方法。 這項提案的目的是為了鼓勵 …
JavaSE(JDK)中各版本新功能的詳細介紹
為了達成 Write once, run anywhere 的目標,早期的 Java 平台中隱含了未正式開放的程式碼,以利程式在不同的作業系統中與記憶體溝通。近長年 Java 開發社群一直在努力提升 Java 平台的安全性和可靠性。在 JEP 454 發表之後,JDK 23 中 JEP 471 提出要棄用並最終移除 sun.misc.Unsafe 類別中的記憶體存取方法。 這項提案的目的是為了鼓勵 …
身為 Java 開發人員都應該知道,當我們想要查詢某隻 API 的功能和用法時,我們會查看該 API 的 JavaDoc 以取得更多資訊。另外當我們需要提供函式庫讓他人使用時,撰寫 JavaDoc 亦是必要的程序。JDK 23 中的 JEP 467 針對既有的 JavaDoc 做出了改進,因為長久以來撰寫 JavaDoc 這件繁瑣的事情深深困擾著開發人員。 JEP 467 改變了我們對 JavaD …
Java 8 引入的 Stream API 為開發者提供了強大且清楚易懂的方式來處理資料串流集合。然而,隨著時間的推移,開發者們發現 Stream API 在某些複雜場景下仍然有不少的局限性。本文將介紹 JDK 23 Stream API 的重大進化如何去填補這些缺失的拼圖:JEP 473 的新功能 Stream Gatherers 串流聚集器。 JEP 473 Stream Gatherers …
在執行緒並行的應用程式中,如何做資料共享一直是個重要且棘手的議題。Java 平台長期以來使用 ThreadLocal 來實現執行緒內的資料共享,但是這種方式存在著一些缺陷。為了解決這些問題,Java 引入了一個新的功能:JEP 481 Scoped Values(範圍值)。 本文將探討 Scoped Values 範圍值的核心概念、設計動機、實現方式,以及與 ThreadLocal 相比的優勢。我 …
隨著 Java 程式語言的不斷演進,開發者們一直在尋求更簡潔且高效的程式碼編寫方式。因此 Java 23 中引入預覽功能 JEP 476 模組匯入聲明,可以簡化 Java 模組化程式中的模組 import 方式,並為開發者提供一種更便捷的方式來使用模組函式庫。 本文將探討模組匯入的核心概念、功能特性,並探討它在實際開發中的優勢和挑戰。無論您是經驗豐富的 Java 工程師,還是剛接觸模組化概念的新手 …
一直以來,Java 常常是企業級應用開發的首選語言之一。然而,在眾多新舊語言的包圍下,Java 對初學者的學習曲線顯得相當陡峭。為了解決這些問題,減少 Java 新手的學習難度,近幾年來的 Java 新功能有許多都環繞著如何降低語言與語法複雜度。 Java 23 中的預覽功能 JEP 477 隱式宣告類別和實例主方法就是在簡化 Java 入門程式的編寫過程,特別是針對初學者和小型程式的開發。本文亦 …
Java 23 於 9/17 正式到來了!本篇文章簡介了 Java 23 中的最新功能,其內容依照 The Arrival of Java 23 的編排方式呈現。除了翻譯該篇文章中的部分內容外,也加上了各功能的補充說明。 由於本篇的目的是摘要 Java 23 所帶來的新功能,因此不會有太深入的細節。大家可以快速地綜覽 Java 23 中各項目的重點,並且看完本篇後對新版本能有大致的了解和掌握。之後 …
前言 ZGC 全名是 Z Garbage Collector,它是 Java 虛擬機器中一種新型的垃圾回收器,目的是為了實現低延遲和高擴展的垃圾收集器。首先在 JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) 中於 JDK 11 時以實驗性質的方式導入,之後在 JDK 13(JEP 351)和 JDK 14( …
JDK 24 現況 JDK 23(站內介紹)即將於今年 9 月份發布,緊接著後續的 JDK 24 開發工作也已如火如荼地展開,並預計於 2025 年 3 月發布。JDK 24 屬於非長期支援(LTS)的版本之一,這意味著它與 JDK 23 一樣,將只會獲得 Oracle 六個月的 Premier 支援。 可以預期的是,許多已包含在 JDK 23 中的預覽功能,都可望被納入 JDK 24 之中,例如 …
介紹 try-with-resources 述句可以讓我們在 try 述句中宣告一到數項資源。當我們說某個物件是一項資源時,意味著該物件實作了 java.lang.AutoCloseable 或是它的子介面 java.lang.Closeable,並且當程式不再使用它們時,我們需要將其關閉。try 新增的述句確保每項資源在區段結束時都會被關閉。 早期我們都必須要自行處理資源的關閉,但現在我們可以藉 …