跳到主要內容

精選文章

2026 和 AI 一起寫程式 - 0: 環境設置 IntelliJ IDEA / Github / Gradle / Kotlin - JDK 25

( 圖片為 ChatGPT 所做 )


去年 2025 年時, 寫了一篇:

    IntelliJ IDEA 安裝 和 github token 設定 給 IntelliJ IDEA 使用

最近有個想做的東西, 想說先在 macbook 上試試;

先把 IDEA 更新到最新版;



在 New Project 時, 想用 Java 25, 但和 Gradle wrapper auto-select 的 9.0.0 版本, 似乎有衝突?

問了一下 AI , 似乎是 9.1.0 版之後才支援;
AI 建議先用舊的 JDK 24 建一個專案後, 再來更改

--

處理方式 A(推薦):升級到 Gradle 9.1.0+
Gradle 9.1.0 的發行說明明確寫到 Gradle now supports Java 25。
做法(擇一):

1. 用 Wrapper 升級(終端機在專案根目錄):./gradlew wrapper --gradle-version=9.1.0(或更新的 9.1.x/9.2.x)。

2. 或直接改 gradle/wrapper/gradle-wrapper.properties 的 distributionUrl 指到 9.1.0+(然後在 IDEA 重新 Reload/Sync)。

--
Gradle 在 IDE 右邊有一個 icon, 點了之後會有一個 Gradle 的視窗, 可以 sync


--
而在 New Project Settings -> Settings for New Projects 
也可以看到 Gradle , 可以把它選成 9.1.0 


--
Java SDK

在 Project Structure



--
可以請 AI 提供一個簡單地顯示 Java 版本 和 Wrapper 版本的程式

下面這支最簡單的 Kotlin main() 會輸出:
   目前程式執行時使用的 Java 版本(從 System.getProperty 取得),
   以及專案 Gradle Wrapper 版本
(從 gradle/wrapper/gradle-wrapper.properties 的 distributionUrl 解析)。

它假設 Run 的 working directory 是專案根目錄;
若不是,程式也會把目前 working directory 印出來方便你調整。

Kotlin 程式(Main.kt)


注意事項

Gradle 版本這裡印的是「Wrapper 指定的 Gradle 發行版版本」,來源是 gradle/wrapper/gradle-wrapper.properties 的 distributionUrl(Gradle 文件也用這個欄位作為範例)。

如果你印出來的 Working directory 不是專案根目錄,IDEA 的 Run Configuration 把 Working directory 改成專案根目錄即可,否則會找不到 gradle/wrapper/gradle-wrapper.properties。

--
還蠻不錯的, 立刻就能跑了, 

執行結果:

Java version: 25.0.1 (Oracle Corporation)
Java runtime: 25.0.1+8-27
Working directory: /Users/neojou/Github/Hello2026
Gradle (wrapper) version: 9.1.0



===
底下為 Grok AI 的介紹:

JDK 25

Java JDK 25 介紹

Java JDK 25 是 Oracle 於 2025 年 9 月 16 日正式發布的 Java 標準版(Java SE)開發工具包第 25 版。這是自 JDK 21 以來第二個長期支持(Long-Term Support, LTS)版本,將獲得至少三年的安全更新和性能優化支持,直至 2028 年 9 月。 作為 LTS 版本,JDK 25 適合企業級應用開發,強調穩定性、性能提升和開發者生產力。相較前版,它引入了 18 個 JDK 增強提案(JEPs),涵蓋語言、API 和運行時的多項創新。

JDK 25 的設計目標是進一步簡化代碼、優化資源使用,並強化現代應用(如雲原生和 AI 相關)的支持。以下是其主要新特性和優點的概述,我將使用表格形式呈現以便比較。

JDK 25 的主要新特性和優點

類別 新特性 優點
語言增強 - Pattern Matching for switch(最終化)
- Primitive Types in Patterns, instanceof, and switch(預覽)
- Module Import Declarations(預覽)
- Compact Source Files(預覽)
- 簡化條件判斷和數據處理,減少樣板代碼,提高代碼可讀性和維護性。
- 支持基本類型模式匹配,加速開發並降低錯誤率。
API 增強 - Structured Concurrency(第二預覽)
- Scoped Values(第二預覽)
- Vector API(第十七孵化)
- 改善並發程式設計的安全性和可管理性,避免資源洩漏。
- Scoped Values 提供輕量級不可變數據傳遞,適合高併發場景。
- Vector API 加速數值計算,適用於機器學習和科學計算,提升性能達數倍。
運行時優化 - Generational Shenandoah 和 Generational ZGC(低延遲 GC)
- Promptly Return Unused Committed Memory from G1
- JFR Spec-compliant Distribution
- 降低 GC 暫停時間(低至毫秒級),提高應用響應速度。
- 自動釋放未用內存,減少雲端資源浪費,節省成本。
- 整體內存佔用減少,性能提升,尤其適合大規模部署。
其他 - 性能相關改進(如更好的垃圾回收和 JIT 編譯) - 提升整體執行效率,適用於微服務和容器化環境。

總體優點

JDK 25 的最大優勢在於其平衡了創新與穩定:作為 LTS 版,它為企業提供可靠的升級路徑,同時透過預覽功能讓開發者提前體驗未來趨勢。 相較 JDK 21,它在性能上更高效(例如 GC 改進可減少 20-30% 的內存使用),開發體驗更流暢(模式匹配等功能可縮短 10-20% 的編碼時間),並強化了對現代工作負載的支持,如並發和向量計算。這使得 JDK 25 特別適合雲計算、AI 和大數據應用開發。如果你正在從舊版遷移,建議從官方文檔開始測試預覽功能。

更多細節可參考 Oracle 官方發布筆記。 如果你有特定功能想深入了解,請提供更多細節!


https://www.oracle.com/news/announcement/oracle-releases-java-25-2025-09-16/

https://openjdk.org/projects/jdk/25/



留言

熱門文章