本週 Java 新聞與大事(2026-06-11)

🔥 頭條新聞

  • JDK 26 的效能改進 (Inside Java)
    此文概述了 JDK 26 中多項值得關注的效能相關改進,這些改進涵蓋了 JDK 函式庫、垃圾回收器、編譯器和執行環境四大領域。它提供了 Java 平台整體效能優化工作的清晰視圖,幫助開發者了解新版本帶來的潛在效益。對於計畫升級或關注 Java 應用程式效能的開發者來說,這是了解未來效能提升的關鍵資訊。
    👉 消息來源
  • Visual Studio Code 的 Oracle Java 擴充功能 26.0.0 版現已推出 (Inside Java)
    Oracle Java Extension for Visual Studio Code 的新版本 26.0.0 已經發布。這個更新通常會帶來對最新 JDK 版本的支援、效能改進以及新的開發者工具功能。對於使用 VS Code 進行 Java 開發的程式設計師來說,這是提升開發體驗的重要工具更新。
    👉 消息來源
  • JEP 538:加密物件的 PEM 編碼(第三次預覽版)目標 JDK 27 (Inside Java)
    JEP 538:「加密物件的 PEM 編碼 (PEM Encodings of Cryptographic Objects)」的第三次預覽版已定為 JDK 27 的目標。這個 JEP 旨在改善 Java 應用程式處理加密金鑰和憑證等 PEM 格式物件的能力,簡化其使用。對於需要在 Java 專案中處理安全性或加密相關功能的開發者來說,這是一個重要的標準化和改進。
    👉 消息來源
  • Spring AI 2.0.0 GA 版現已推出 (Spring Blog)
    Spring AI 2.0.0 GA 版已正式發布,並可從 Maven Central 取得。此版本代表著 Spring AI 函式庫的穩定里程碑,為開發者提供了更成熟的工具,用於在 Spring 應用程式中整合生成式 AI 功能。對於希望在專案中利用大型語言模型 (LLM) 和其他 AI 服務的 Spring 開發者來說,這是一個重大且值得採用的更新。
    👉 消息來源
  • Spring Cloud 2025.0.3 (又名 Northfields) 已發布 (Spring Blog)
    Spring Cloud 2025.0.3 (Northfields) 發布列車已正式推出。這個版本包含了一系列針對 Spring Cloud 專案的改進和錯誤修復,確保了更穩定的分散式系統開發體驗。對於使用 Spring Cloud 建置微服務架構的開發者來說,此更新提供了更高的可靠性和最佳化。
    👉 消息來源
  • Spring Cloud 2025.1.2 (又名 Oakwood) 已發布 (Spring Blog)
    Spring Cloud 2025.1.2 (Oakwood) 發布列車已正式推出。此版本提供了對 Spring Cloud 生態系統的進一步更新與強化,旨在提升雲原生應用程式的性能和彈性。建議 Spring Cloud 使用者評估此版本,以利用最新的功能和改善來優化他們的雲端專案。
    👉 消息來源

📚 教學與指南

  • 簡化 ZGC 中的弱引用處理 (Inside Java)
    這篇文章深入探討了 HotSpot 虛擬機的垃圾回收器與編譯器之間的交集,特別聚焦於 ZGC 如何簡化弱引用處理。它解釋了 GC barrier 的概念,以及如何在組語層級實作與特定 GC 無關的載入屏障 (load barrier)。開發者能從中了解效能優化和整體架構設計的關鍵洞察,有助於深入理解 JVM 的內部運作。
    👉 消息來源
  • 使用 Babylon 從 Java 利用 GPU Tensor Cores (Inside Java)
    本文介紹一種將 HAT 程式設計模型擴展為明確的 Tensor Core 程式設計 API 的方法。它展示了如何使此方法通用化,以便在加速器上處理使用 HAT Tensor Core API 表達的計算。這為 Java 開發者開啟了直接利用 GPU Tensor Cores 進行高效能計算的可能性,對於需要大量數據處理和機器學習的專案特別有用。
    👉 消息來源
  • 智慧型 JVM 監控:結合 JDK Flight Recorder 與 AI (Inside Java)
    本文探討如何將 JDK Flight Recorder (JFR) 的即時數據流導入 AI 系統,以增強 JVM 監控、加速疑難排解和預測問題。JFR 通過捕獲詳細的 JVM 事件數據來簡化故障排除和分析,而 JFR Streaming API 則可即時存取這些洞察。這種結合 AI 的方法能將監控從反應式轉為預測式,為高效能 Java 應用程式的維護提供新思路。
    👉 消息來源
  • Alibaba Nacos 簡介 (Baeldung)
    這篇文章提供了 Alibaba Nacos 的全面介紹,包括其功能、設定方式和實用範例。Nacos 是一個動態服務發現、組態管理和服務管理平台,對於微服務架構至關重要。對於 Spring Cloud 開發者來說,了解 Nacos 如何支援服務註冊、組態熱更新和流量管理,對於建置穩健的微服務應用程式非常有幫助。
    👉 消息來源
  • Spring AI 中子代理程式協作指南 (Baeldung)
    本文探討了如何在 Spring AI 框架中建置子代理程式 (subagent) 的協作機制。它提供了實作指南和最佳實踐,以設計多個 AI 代理程式協同工作來完成複雜任務。這對於開發更智慧、模組化的 AI 應用程式,並充分利用 Spring AI 的能力至關重要。
    👉 消息來源
  • 在 Spring AI 的 MCP 伺服器中嵌入 HTML UI (Baeldung)
    本教學展示如何在 Spring AI 的多協定聊天 (MCP) 伺服器中嵌入 HTML 使用者介面 (UI)。它引導開發者建置一個 Spring AI MCP 伺服器,並整合一個基於 HTML 的介面,以提供更豐富的互動體驗。這對於需要為 Spring AI 應用程式提供客製化網頁介面的開發者來說,提供了一個實用的實作方法。
    👉 消息來源
  • Codename One:裝置上除錯與 JUnit 5 (Foojay)
    這篇文章詳細介紹了 Codename One 為 ParparVM iOS 和 Android 應用程式新增的基於 JDWP 的裝置上除錯管線,並提供了逐步的 IntelliJ 教學。它還包含了一個關於新的標準 JUnit 5 整合的簡短教學,針對 JavaSE 模擬器。對於使用 Codename One 進行跨平台 Java 開發的程式設計師來說,這些新功能顯著提升了開發和測試的效率。
    👉 消息來源
  • 使用 Spring AI 和 MongoDB Atlas 建置 AI 驅動的營運助理 — 第二部分:對話式記憶體 (Foojay)
    此系列文章的第二部分探討了如何為 AI 驅動的營運助理實作對話式記憶體,以解決無狀態聊天的問題。它區分了短期記憶體(維持對話連貫性)和長期記憶體(跨會話傳遞知識),並討論了記憶體整合的策略。對於希望利用 Spring AI 建置更智慧、能理解上下文的對話式應用程式的開發者來說,這提供了實用的設計模式和實作方法。
    👉 消息來源
  • 你的 TLS 堆疊在零拷貝上欺騙了你 (Foojay)
    本文深入剖析 TLS 堆疊中的「零拷貝」概念,揭示其在記憶體所有權和網路傳輸中存在的阻抗不匹配問題。作者通過探究性基準測試,分析了 Netty、FFM (Foreign Function & Memory API) 等技術,並揭示了垃圾回收器層面對抽象化真實成本的影響。這對追求極致效能和低延遲的 Java 網路程式開發者來說,提供了關於如何理解和優化 TLS 效能的深刻洞察。
    👉 消息來源
  • 使用 MongoDB 導入 CQRS (Foojay)
    這篇文章介紹了如何在企業環境中利用 MongoDB 實作命令查詢職責分離 (CQRS) 模式。它逐步指導讀者建立實體、定義命令和設計查詢,以處理複雜的數據模型和業務邏輯。對於希望優化讀寫操作、提升應用程式擴展性和維護性的 Java 開發者來說,這是一個實用的架構指南。
    👉 消息來源

💬 社群討論

  • Java 語言的未來特性 (Inside Java)
    本演講總結了 Java 程式語言近期發布的許多變更,並展望了未來版本中正在開發和即將推出的方向與特性。它讓開發者能提前了解 Java 語言的演進藍圖,為未來的專案規劃和技能提升做準備。這對於希望保持技術領先並探索 Java 新功能的開發者社群具有高度參考價值。
    👉 消息來源
  • Oracle 的 OpenJDK 禁止生成式 AI 貢獻,而 GraalVM 則允許 (InfoQ Java)
    Oracle 支持的兩個相關開源專案,OpenJDK 和 GraalVM,發布了關於生成式 AI 創建的開源貢獻的相反政策。OpenJDK 管理委員會批准了一項臨時政策,禁止此類貢獻,以應對潛在的法律和道德問題。與此同時,GraalVM 選擇允許此類貢獻,這反映出開源社群對於 AI 協作工具使用方式的不同看法,對 Java 開發者社群具有重要的討論意義。
    👉 消息來源
  • 為什麼 Spring 團隊不需要為 AI 代理程式使用第二個執行環境 (Foojay)
    這篇文章深入探討了為什麼 Spring 團隊在開發 AI 代理程式時,Spring 框架本身就提供了所需的一切,而無需引入額外的執行環境。它強調了 Spring 在建置、治理和操作 AI 代理程式方面的優勢,包括成本預算、核准、權限、檢查點,以及安全執行與可觀察性。對於考慮 Spring AI 專案架構的開發者來說,這提供了重要的考量和單一堆疊的效益論證。
    👉 消息來源

💡 心得總結

本週 Java 生態圈持續展現其強勁的發展動能。JDK 26 的效能改進、JDK 27 與 28 的持續推進,以及多項 Java 語言特性演進的討論,都預示著 Java 平台在未來將更加高效與現代化。此外,跨平台開發函式庫如 Codename One 的重大更新,以及針對 Spring Boot 遷移策略和大型語言模型 (LLM) 應用程式安全性的深度探討,都反映出業界對技術創新與穩健實踐的雙重需求。

對於台灣的 Java 開發者社群而言,這些新知提供了寶貴的學習機會。我們應密切關注 JDK 的最新發展,特別是效能優化與語言特性的應用,以提升專案品質。同時,探索跨平台開發框架如 Codename One 的潛力,能幫助我們拓展應用領域。此外,在面對日益複雜的資安環境時,了解如 Tiberius 這類針對 LLM 應用程式的安全測試框架,並關注如《網路韌性法案》(CRA) 等法規對技術專案的影響,將是確保我們開發的系統不僅技術領先,亦能符合法規與安全標準的關鍵。

同時,這也是一個重新評估 Java 在高效能運算與 AI 領域定位的絕佳契機。建議社群成員持續關注 Spring AI 的演進,這能讓企業在擁抱 AI 轉型時最大化利用現有的 Spring 基礎設施與開發人才;同時,隨著 FFM API 與硬體加速等新興 JVM 技術的成熟,掌握記憶體管理與底層運作機制的開發者,將能在高效能 Java 專案開發中佔得先機。

本篇文章的內容為老喬原創、二創或翻譯而來。雖已善盡校對、順稿與查核義務,但人非聖賢,多少仍會有疏漏之處難以避免。如果大家有任何問題、建議或指教,都歡迎在底下留言與老喬討論!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

20 − six =

目錄
返回頂端