
作者 | Michael Redlich, Erik Costlow, Karsten Silz 等
譯者 | 平川
策劃 | 丁曉昀
本報(bào)告匯總了 InfoQ Java 編輯團(tuán)隊(duì)目前對(duì) Java 領(lǐng)域內(nèi)技術(shù)采用和新興趨勢(shì)的看法。我們重點(diǎn)關(guān)注 Java 語(yǔ)言、Java 相關(guān)語(yǔ)言(如 Kotlin 和 Scala)、Java 虛擬機(jī)(JVM)以及基于 Java 的框架和實(shí)用工具。我們討論了核心 Java 的發(fā)展趨勢(shì),包括 Java 新版本的采用,以及 Spring Framework、Jakarta EE、Quarkus、Micronaut、Helidon 和 MicroProfile 等框架的演變。
本報(bào)告主要有兩個(gè)目標(biāo):
幫助技術(shù)領(lǐng)導(dǎo)者做中長(zhǎng)期技術(shù)投資決策。
幫助個(gè)體開(kāi)發(fā)人員選擇將寶貴的時(shí)間和資源投入到何種知識(shí)的學(xué)習(xí)和技能的開(kāi)發(fā)。
這是我們發(fā)布的第 7 份 Java 趨勢(shì)報(bào)告。不過(guò),由于我們自 2006 年以來(lái)一直在內(nèi)部跟蹤 Java 和 JVM 的發(fā)展趨勢(shì),所以這一話題已經(jīng)得到了廣泛的新聞報(bào)道。
為了幫助 InfoQ 和 QCon 把握當(dāng)前和未來(lái)的趨勢(shì),我們采用了 Geoffrey Moore 在其 同名著作 中首創(chuàng)的 “跨越鴻溝 ”技術(shù)成功心理模型。我們?cè)噲D找出 Moore 所說(shuō)的早期市場(chǎng):“ 客戶群由技術(shù)愛(ài)好者和有遠(yuǎn)見(jiàn)的人組成,他們希望抓住機(jī)遇或解決迫在眉睫的問(wèn)題。“
與 2024 年、2023 年、2022 年、2021 年、2020 年和 2019 年的 Java 趨勢(shì)報(bào)告一樣,我們將首先呈現(xiàn) 2025 年的內(nèi)部主題圖:
![]()
方便起見(jiàn),下面是 2024 年的內(nèi)部主題圖:
![]()
創(chuàng)新者
Embabel Agent Framework 和 Koog(分別由 Rod Johnson 和 JetBrains 創(chuàng)建)是面向 JVM 的新型開(kāi)源代理平臺(tái),于 2025 年第二季度引入 Java 社區(qū)。這些框架旨在幫助開(kāi)發(fā)人員構(gòu)建并運(yùn)行 AI 代理。
2025 年,Leyden 項(xiàng)目中的前三個(gè)功能隨著 Java 24 和 Java 25 的發(fā)布而交付。第四個(gè)功能將作為即將發(fā)布的 Java 26 功能集的一部分。
備受期待的 Spring Boot 4.0 和 Spring Framework 7.0 GA 版本于 2025 年 11 月發(fā)布,提供 API 版本控制、彈性和來(lái)自 JSpecify 的空安全注解。
Jakarta EE 12 的開(kāi)發(fā)工作于 2025 年初啟動(dòng),遠(yuǎn)早于 Jakarta EE 11 的最終發(fā)布,涵蓋了 24 項(xiàng)規(guī)范的制定與計(jì)劃評(píng)審。生態(tài)系統(tǒng)新增了四項(xiàng)規(guī)范,其中 Jakarta Query 已獲準(zhǔn)納入平臺(tái)與 Web Profile。Jakarta EE 12 預(yù)計(jì)將于 2026 年 7 月發(fā)布。
早期采用者
隨著包括 Open Liberty、WildFly、Payara 和 GlassFish 在內(nèi)的許多 Java 項(xiàng)目被認(rèn)證為兼容實(shí)現(xiàn),Jakarta EE 11 上升到這一類別。
OpenRewrite 首次出現(xiàn)在這一類別中,因?yàn)樵S多項(xiàng)目已經(jīng)使用這項(xiàng)技術(shù)進(jìn)行了現(xiàn)代化。OpenRewrite 有兩項(xiàng)值得注意的用途是遷移 javax 到 jakarta 命名空間,以及升級(jí)過(guò)時(shí)的 Jakarta EE 技術(shù)兼容性套件(TCK)。
隨著 GraalVM for JDK 23 的發(fā)布,GraalPy 和 GraalWasm 正式被認(rèn)定為穩(wěn)定版本,適用于生產(chǎn)工作負(fù)載,因此進(jìn)入了該類別。這些項(xiàng)目此前是作為 GraalVM 的實(shí)驗(yàn)性功能,于 2024 年首次亮相于創(chuàng)新者類別。
MCP Java SDK 于 2024 年 12 月推出,是首次出現(xiàn)在這一類別中,因?yàn)樗?Java 應(yīng)用程序能夠通過(guò)支持同步和異步通信模式的標(biāo)準(zhǔn)化接口與 AI 模型和工具進(jìn)行交互。
2025 年 5 月交付的 Spring AI 1.0 加入了其他生成式 AI 技術(shù)的行列。其核心功能包括:支持二十種 AI 模型的 ChatClient 接口,可處理多模態(tài)輸入并生成結(jié)構(gòu)化響應(yīng);作為攔截器鏈的 Advisors API,允許開(kāi)發(fā)人員通過(guò)注入檢索數(shù)據(jù)和對(duì)話記憶來(lái)修改輸入提示;全面支持模型上下文協(xié)議(MCP)。
下面是幾位 InfoQ Java Queue 編輯和 Java Champion 針對(duì)各種主題的討論的簡(jiǎn)單匯總:
Michael Redlich:Java Champion | Garden State Java 用戶組負(fù)責(zé)人 | Payara 合約開(kāi)發(fā)大使和技術(shù)撰稿人 | InfoQ Java Queue 主編 | 埃克森美孚技術(shù)與工程公司退休高級(jí)研究技術(shù)員
Erik Coslow:Azul 產(chǎn)品管理高級(jí)總監(jiān) | InfoQ Java Queue 編輯
Karsten Silz:高級(jí)全棧 Java 開(kāi)發(fā)人員 | InfoQ Java Queue 編輯
Trisha Gee:Java Champion | Gradle 開(kāi)發(fā)大使
Marit van Dijk:Java Champion | JetBrains 開(kāi)發(fā)大使
Richard Fichtner:Java Champion | XDEV Software 首席執(zhí)行官 | JUG Oberpfalz 創(chuàng)始人 | JCON 聯(lián)合組織者
Bert Jan Schrijver:Java Champion | OpenValue 首席技術(shù)官 | NLJUG JUG 負(fù)責(zé)人
我們還要感謝為我們更新 2025 年“跨越鴻溝”模型提供輸入的 Java Queue 編輯:
Daniel Bryant:Java Champion | Syntasso 平臺(tái)工程與產(chǎn)品營(yíng)銷 | InfoQ 新聞經(jīng)理
Olimpiu Pop:技術(shù)咨詢師 | InfoQ Java Queue 編輯
對(duì)于我們?cè)趦?nèi)部主題圖中對(duì)某些技術(shù)所做的歸類,上述內(nèi)容提供了更多的背景信息。
Java 和人工智能
Van Dijk:人們對(duì)使用 Java 進(jìn)行 AI 開(kāi)發(fā)的關(guān)注度越來(lái)越高,新工具也在不斷涌現(xiàn)。Langchain4j 不斷演進(jìn)。今年,我們還見(jiàn)證了 Embabel 的問(wèn)世——這是由 Spring Framework 創(chuàng)始人 Rod Johnson 打造的一個(gè)全新 JVM 代理平臺(tái)。另外還有一項(xiàng)成果是 Koog,這是一個(gè)基于 Kotlin 的框架,專為完全采用 Kotlin 慣用語(yǔ)法構(gòu)建和運(yùn)行 AI 代理而設(shè)計(jì)。看到在 JVM 平臺(tái)上運(yùn)用 AI 的選項(xiàng)越來(lái)越多,實(shí)在是件令人欣喜的事。
隨著 AI 工具在軟件開(kāi)發(fā)中的使用,我們似乎正在重新發(fā)現(xiàn)軟件工程實(shí)踐。伴隨規(guī)格驅(qū)動(dòng)開(kāi)發(fā)的發(fā)展,我們將良好的軟件開(kāi)發(fā)實(shí)踐融入到了使用 AI 開(kāi)發(fā)軟件的過(guò)程中。
隨著越來(lái)越多的代碼由 AI 生成,而不是由開(kāi)發(fā)人員編寫,代碼的可讀性依然至關(guān)重要。正因如此,當(dāng)我們看到 Java 語(yǔ)言及其工具仍然以使代碼更易于閱讀和理解的方式不斷演進(jìn)時(shí),會(huì)覺(jué)得令人欣慰。
Fichtner:AI 不再只是一個(gè)流行詞,它已經(jīng)成為一個(gè)現(xiàn)實(shí)。我們看到,人們以兩種截然不同的方式使用它。
一方面是基于 AI 的開(kāi)發(fā)工具。這些工具不會(huì)取代開(kāi)發(fā)人員,但在熟練的專業(yè)人員手中,它們可以加快代碼編寫速度,提高代碼質(zhì)量和團(tuán)隊(duì)效率。
另一方面是將 AI 內(nèi)置到應(yīng)用程序中。這是 Java 大放異彩的地方。多年來(lái),人們一直以為 AI 需要 Python。但是,當(dāng)涉及到運(yùn)行大規(guī)模的業(yè)務(wù)關(guān)鍵應(yīng)用程序時(shí),越來(lái)越多的團(tuán)隊(duì)轉(zhuǎn)向了 Java。他們看重的是 Java 的強(qiáng)類型、可靠性和成熟的生態(tài)系統(tǒng)。當(dāng)需要部署、集成和擴(kuò)展時(shí),像 LangChain4j、Spring AI 等 Java 框架使得人們?cè)趯?AI 投入生產(chǎn)應(yīng)用時(shí)變得很有信心。
簡(jiǎn)而言之,Python 可能開(kāi)啟了這個(gè)故事,但 Java 使許許多多的 AI 應(yīng)用程序真正地?zé)òl(fā)了生機(jī)。
Silz:四十年來(lái),我都是手寫代碼。但我現(xiàn)在不這么做了,因?yàn)?AI 可以幫我編碼。AI 還能解釋未知項(xiàng)目,編寫規(guī)格說(shuō)明和文檔,修復(fù)損壞的構(gòu)建,并優(yōu)化生產(chǎn)系統(tǒng)。即使把 AI 犯的所有錯(cuò)誤考慮進(jìn)來(lái),我仍然比沒(méi)有 AI 時(shí)更有生產(chǎn)力。
我在工作中做的一個(gè)假設(shè)是,AI 可以提高所有開(kāi)發(fā)人員的生產(chǎn)力,這引發(fā)了兩個(gè)問(wèn)題。第一個(gè)問(wèn)題涉及未來(lái)兩到三年的自動(dòng)化:是較少的開(kāi)發(fā)人員產(chǎn)出相同數(shù)量的代碼,還是相同數(shù)量的開(kāi)發(fā)人員創(chuàng)建更多的代碼,亦或是更多的開(kāi)發(fā)人員編寫更多的代碼?第二個(gè)問(wèn)題是一個(gè)原則問(wèn)題:當(dāng) AI 足夠好,不需要開(kāi)發(fā)人員告訴它做什么,而只需要業(yè)務(wù)分析師告訴它做什么時(shí),會(huì)發(fā)生什么?
Java 25 及其它
Gee:Java 25 于 2025 年 9 月發(fā)布,是當(dāng)前的長(zhǎng)期支持版本。我喜歡現(xiàn)在這樣,六個(gè)月發(fā)布一次已成常態(tài)。每個(gè)版本都會(huì)帶來(lái)有趣的特性,Java 社區(qū)已經(jīng)習(xí)慣了在可預(yù)測(cè)的日期獲得高質(zhì)量的版本。
Van Dijk:作為最新的 LTS,Java 25 的發(fā)布為這門語(yǔ)言帶來(lái)了很多改進(jìn)。像 Compact Source Files 和 Instance Main Methods 這樣的更改,不僅使初學(xué)者更容易掌握 Java,也使經(jīng)驗(yàn)豐富的程序員能夠更快速地實(shí)現(xiàn)創(chuàng)意原型。在每一種情況下,代碼均能夠隨著知識(shí)的積累和需求的變化靈活擴(kuò)展。
其他更改使得這門語(yǔ)言更具表現(xiàn)力,使 Java 代碼更容易編寫和閱讀。例如,結(jié)構(gòu)化并發(fā)(仍處于預(yù)覽階段)使并發(fā)代碼的編寫和理解變得更加輕松。模式匹配改進(jìn)(如 模式中的基本類型、instanceof 和 switch 語(yǔ)句,同樣仍處于預(yù)覽階段)則有助于快速理解代碼。
除了語(yǔ)言特性外,Java 25 的性能和性能洞察能力也有所提高。即使你不為了使用最新的語(yǔ)言特性更新代碼,更新 JDK 也會(huì)讓你立即從中受益。我建議你這樣做,這樣可以受益于新語(yǔ)言特性帶來(lái)的好處。
看到各種框架和庫(kù)正在支持甚至要求支持更新的 Java 版本,這是一件令人高興的事。Java 17 似乎成了一個(gè)新基線,因?yàn)?Spring、JUnit、Gradle 9 和即將推出的 Maven 4 都需要 Java 17 或更高版本才能運(yùn)行。Spring 團(tuán)隊(duì)現(xiàn)在也推薦使用 Java 21 中引入的虛擬線程。很高興看到像 Spring 和 JUnit 這樣的項(xiàng)目采用了 JSpecify 注釋。很高興看到語(yǔ)言和生態(tài)系統(tǒng)的同步發(fā)展。
Schrijver:好吧,JDK 24 和 25 已經(jīng)發(fā)布,Stream Gatherers 的功能已經(jīng)最終確定,Scoped Values 已經(jīng)交付,模式匹配現(xiàn)在可以在 switch 和 instanceof 語(yǔ)句中處理原始類型,Compact Source Files 和 Instance Main Methods 也已經(jīng)引入。
Redlich:雖然起步的時(shí)候比較慢,但 Leyden 項(xiàng)目最終提供了旨在改善 Java 程序啟動(dòng)時(shí)間、峰值性能和空間占用的特性。第一個(gè)特性 Ahead-of-Time Class Loading & Linking 隨 Java 24 的發(fā)布而交付。這個(gè)特性似乎打開(kāi)了傳說(shuō)中的閘門,因?yàn)?Ahead-of-Time Method Profiling 和 Ahead-of-Time Command-Line Ergonomics 兩個(gè)特性在 Java 25 中交付,而到目前為止,第四個(gè)特性 Ahead-of-Time Object Caching with Any GC 已準(zhǔn)備在 JDK 26 中交付。第五個(gè)特性 Ahead-of-Time Code Compilation 目前仍處于草案狀態(tài)。
遺留 Java 應(yīng)用程序的現(xiàn)代化
Fichtner:我們看到,對(duì) Java 應(yīng)用程序進(jìn)行現(xiàn)代化改造的需求有明顯增長(zhǎng)。許多團(tuán)隊(duì)正在將那些比較舊的應(yīng)用程序,例如基于 Swing 的應(yīng)用程序,使用像 Vaadin 這樣的現(xiàn)代框架遷移到 Web 瀏覽器中。其他人則正在處理多年累積的技術(shù)債務(wù)。框架升級(jí)變得越來(lái)越復(fù)雜,而在如今高度重視供應(yīng)鏈安全的情況下,組織正在密切關(guān)注其軟件棧中的漏洞。
另一個(gè)主要的驅(qū)動(dòng)因素是 Java 版本的現(xiàn)代化。有太多的團(tuán)隊(duì)仍在運(yùn)行 Java 8 之前的版本。他們想要向前邁進(jìn),但他們需要一個(gè)符合現(xiàn)實(shí)的可靠路徑來(lái)實(shí)現(xiàn)這一點(diǎn)。
這是像 OpenRewrite 這樣的工具真正發(fā)揮作用的地方。它們使升級(jí)過(guò)程具有確定性,不僅適用于遷移到 Java 的新版本,還適用于保持 Spring Boot、Quarkus、Micronaut 等框架始終處于最新?tīng)顟B(tài)。
這種組合——解決技術(shù)債務(wù)、加強(qiáng)安全性和對(duì)平臺(tái)進(jìn)行現(xiàn)代化改造,已成為過(guò)去一年中的主要發(fā)展趨勢(shì),并且正在加速。
Costlow:我不想討論具體的技術(shù)庫(kù),我感受到的變化更多的在于 Java 及其主要庫(kù)的發(fā)展節(jié)奏。各方都在積極推進(jìn)技術(shù)更新:既要與 JDK 保持同步,也要與庫(kù)保持同步。如今已發(fā)展到主要庫(kù)都要求使用相對(duì)較新的技術(shù)。
Jakarta EE
Redlich:備受期待的 Jakarta EE 11 版本終于發(fā)布了!原始路線圖上的發(fā)布日期是 2024 年 7 月,但它決定升級(jí)過(guò)時(shí)的技術(shù)兼容性工具包(TCK),其中包括從 Ant 遷移到 Maven 和使用 OpenRewrite 從 Test Harness 遷移到 Arquillian。
這項(xiàng)升級(jí)的結(jié)果是分階段發(fā)布:Core Profile 在 2024 年 12 月發(fā)布,Web Profile 在 2025 年 4 月發(fā)布,而平臺(tái)則在 2025 年 6 月發(fā)布。這一努力應(yīng)該會(huì)使 Jakarta EE 12 及以后的發(fā)布過(guò)程更加高效。
Java 社區(qū)怎么說(shuō)?
對(duì)于 Java 社區(qū)中其他開(kāi)發(fā)人員可能對(duì) Java 現(xiàn)狀持有什么樣的看法,我們的參與者提供了他們的見(jiàn)解。
Gee:當(dāng)然,每個(gè)人都在談?wù)?AI,而在 Java 社區(qū)中,過(guò)去幾年有人擔(dān)心,當(dāng)人們想到 AI 就會(huì)自動(dòng)想到像 Python 這樣的語(yǔ)言時(shí),Java 如何保持相關(guān)性。然而今年,我看到有越來(lái)越多的庫(kù)和框架致力于簡(jiǎn)化在 Java 程序中使用 AI 功能,并且是用一種有效的、符合 Java 開(kāi)發(fā)人員習(xí)慣的方式。由于絕大多數(shù)人都將編寫包含 AI 特性的企業(yè)級(jí)應(yīng)用程序,這種方法對(duì)我們來(lái)說(shuō)非常有用。
Van Dijk:我們不斷聽(tīng)到這樣的討論,AI 如何幫助開(kāi)發(fā)人員以及這種幫助對(duì)開(kāi)發(fā)實(shí)踐意味著什么。當(dāng)然,人們是在談?wù)撜Z(yǔ)言和生態(tài)系統(tǒng)會(huì)如何繼續(xù)向前發(fā)展。最近,JUnit 6 發(fā)布了。Spring Boot 4 / Spring Framework 7 在 11 月發(fā)布。看起來(lái),經(jīng)過(guò)多年的工作之后,Maven 4 也可能會(huì)在今年發(fā)布。
很高興看到 Java 語(yǔ)言和生態(tài)系統(tǒng)繼續(xù)向前發(fā)展,使軟件開(kāi)發(fā)變得越來(lái)越容易,很高興聽(tīng)到人們分享他們最喜歡的工具和實(shí)踐。
Fichtner:如今,在聆聽(tīng) Java 社區(qū)的聲音時(shí),我注意到最大的轉(zhuǎn)變是關(guān)于云的對(duì)話。
幾年前,所有的討論都是圍繞遷移到云和云原生。但現(xiàn)在風(fēng)向肯定已經(jīng)變了。這些天,我聽(tīng)到更多的是企業(yè)要遷回本地,或者選擇歐洲云提供商和數(shù)據(jù)中心,而不是完全依賴于全球性的大型平臺(tái)。
這種轉(zhuǎn)變不僅僅是關(guān)于技術(shù),還涉及到主權(quán)和合規(guī)性,特別是在歐洲。數(shù)據(jù)隱私、監(jiān)管要求和對(duì)基礎(chǔ)設(shè)施的控制正在推動(dòng)團(tuán)隊(duì)變革部署和運(yùn)行 Java 工作負(fù)載的方式。
所以,我在社區(qū)中聽(tīng)到的討論最熱烈的一個(gè)話題就是這一點(diǎn):重新思考云策略,更加重視本地和區(qū)域解決方案。
Schrijver:我聽(tīng)到其他人主要在談?wù)?Java 如何通過(guò)像 Langchain4j 這樣的框架進(jìn)入 AI 世界,但也涉及到 Java 在 RAG 工具和 MCP 服務(wù)器中的應(yīng)用。在 Devoxx 比利時(shí)大會(huì)上,Rod Johnson 闡釋了為什么我們都應(yīng)該在 JVM 上構(gòu)建 AI 代理,以及像 Embabel 這樣的框架已經(jīng)表明 Java 實(shí)際上非常適合構(gòu)建代理 AI 解決方案。盡管目前在 AI 領(lǐng)域,像 Python 這樣的語(yǔ)言比 Java 有先發(fā)優(yōu)勢(shì),但我認(rèn)為,鑒于當(dāng)前使用 Java 構(gòu)建 AI 解決方案的發(fā)展?fàn)顩r,離 Java 成為這個(gè)領(lǐng)域的強(qiáng)勁競(jìng)爭(zhēng)者已經(jīng)不遠(yuǎn)了。這真是令人興奮!
Costlow:有關(guān)現(xiàn)代化的討論,我都是有選擇性地聽(tīng)聽(tīng)。我聽(tīng)到的很多內(nèi)容都是關(guān)于企業(yè)如何確定管理應(yīng)用程序的方式,包括運(yùn)行、構(gòu)建、維護(hù)以及退役。最終,這些管理工作很多都?xì)w結(jié)為上市時(shí)間、投資回報(bào)和成本管理等商業(yè)概念。這些對(duì)話并不是從 Java 社區(qū)開(kāi)始的;它們來(lái)自那些人們需要不斷決定 Java 是正確選擇的對(duì)話。在這類討論中,對(duì)話通常從這樣一個(gè)話題開(kāi)始,借助 Java,你可以持續(xù)利用并增值十多年前對(duì) Java 的投入,而且多年以后你仍能以同樣的方式獲益。
有什么令人感到
意外和興奮的新趨勢(shì)嗎?
關(guān)于 Java 生態(tài)系統(tǒng)中令人愉快和意外的新事物,我們的參與者談了他們的看法。
Gee:我試過(guò) 緊湊型源文件和實(shí)例主方法。看到“Hello World”示例的樣板代碼少了很多,這真的很好,盡管這對(duì)專業(yè)開(kāi)發(fā)人員的日常工作影響不大,但它確實(shí)對(duì)新手開(kāi)始學(xué)習(xí)這門語(yǔ)言有很大的幫助,因?yàn)樗サ袅怂麄儾恍枰赖暮芏嘣胍簟N也恢肋@是否“令人興奮”,但可以說(shuō)早就該這樣了!但我也喜歡這個(gè)特性的添加方式,經(jīng)驗(yàn)豐富的開(kāi)發(fā)人員也不會(huì)覺(jué)得不自然。我覺(jué)得,鑒于 Java 對(duì)向后兼容性的承諾,這不會(huì)改變?nèi)魏维F(xiàn)有的功能。
Schrijver:沒(méi)想到,我可以寫一個(gè)只有 void main() { IO.println("hi!"); }的 Java 源文件,并且可以隨時(shí)用 java test.java 運(yùn)行它,然而它真的實(shí)現(xiàn)了!
盡管這個(gè)增強(qiáng)看起來(lái)很小,而且對(duì)于企業(yè)級(jí) Java Web 應(yīng)用程序領(lǐng)域來(lái)說(shuō)并不特別相關(guān),我仍然認(rèn)為這是一個(gè)了不起的發(fā)展,它使得初學(xué)者更容易進(jìn)入 Java 領(lǐng)域,也更便于 Java 在教育領(lǐng)域中的使用。
Costlow:我目睹了許多老舊的應(yīng)用程序被實(shí)質(zhì)性地復(fù)活。所謂老舊,是指人們從 Java 7 升級(jí),因?yàn)樗麄冊(cè)谧龀鎏鎿Q / 淘汰決策時(shí),選擇了繼續(xù)沿用 Java 應(yīng)用程序。
Silz:生成式 AI 軟件開(kāi)發(fā)已實(shí)現(xiàn)產(chǎn)品市場(chǎng)契合:擁有海量訓(xùn)練數(shù)據(jù),完善的驗(yàn)證機(jī)制確保 AI 正確性(代碼編譯通過(guò)、代碼檢查通過(guò)、測(cè)試通過(guò)),而且高薪開(kāi)發(fā)群體成為推動(dòng)自動(dòng)化的動(dòng)力。當(dāng)前,我們開(kāi)發(fā)人員正享受著生產(chǎn)力提升的紅利,但長(zhǎng)遠(yuǎn)來(lái)看未必如此。
Redlich:沒(méi)想到,我們會(huì)看到一個(gè)小型開(kāi)源項(xiàng)目專注于碳感知任務(wù)處理。這成為 2025 年 7 月 JobRunr 8.0 版本 發(fā)布 的一大亮點(diǎn)。JobRunr 通過(guò)調(diào)用歐盟能源供應(yīng)商 ENTSO-E 的數(shù)據(jù),為開(kāi)發(fā)人員提供優(yōu)化后的碳足跡方案。目前,碳感知任務(wù)處理功能尚未在美國(guó)地區(qū)開(kāi)放。
在 Java 領(lǐng)域,
最令你感到激動(dòng)的是什么?
我們問(wèn)了參與者這個(gè)問(wèn)題,目的是希望他們描述下他們眼中 Java 生態(tài)系統(tǒng)最讓其感到興奮的地方。
Gee:今年我沒(méi)有太多時(shí)間寫 Java 代碼,但我渴望使用 Loom 項(xiàng)目和結(jié)構(gòu)化并發(fā)的各種特性。有能幫助我們以更容易理解的方式編寫并發(fā)和 / 或并行代碼的特性,對(duì)于編寫安全和可擴(kuò)展的應(yīng)用程序至關(guān)重要。
Van Dijk:就我個(gè)人而言,所有使 Java 語(yǔ)言更容易學(xué)習(xí)和使用的改變都讓我感到興奮,還有可以幫助我們理解代碼的工具。這些將使代碼更容易維護(hù),減少 Bug,使開(kāi)發(fā)人員的生活更輕松。隨著生成的代碼變得比以往任何時(shí)候都多,將有更多的代碼需要維護(hù)。
隨著語(yǔ)言和生態(tài)系統(tǒng)的發(fā)展,總有新東西要學(xué)習(xí),這很令人興奮,雖然有時(shí)也可能令人不知所措。對(duì)我來(lái)說(shuō),最令人興奮的是成為更廣泛社區(qū)的一部分,并能夠分享知識(shí),不管是在會(huì)議上還是以其他方式。一起學(xué)習(xí)更有趣,成為這個(gè)社區(qū)的一部分真的很棒。
Fichtner:目前,在 Java 領(lǐng)域,讓我真正感到興奮的是社區(qū),感覺(jué)它比以往任何時(shí)候都更有活力。
在德國(guó),我們正在指導(dǎo)和支持組建新的 Java 用戶組(JUG)。看到如此多的人渴望組建本地團(tuán)體,重啟線下聚會(huì),在疫情之后重新建立面對(duì)面的聯(lián)系,這令人深受鼓舞。正是這種真實(shí)的人際互動(dòng),構(gòu)成了 Java 獨(dú)特魅力的核心所在。
我對(duì) JCON Europe 大會(huì)也感到非常興奮,這是我們?cè)诳坡∨e辦的一場(chǎng)社區(qū)會(huì)議。與 Java 社區(qū)共度時(shí)光,交流想法,和有著同樣激情的人閑逛,總是一件很讓人高興的事。
今年,我們第一次將 JCON 帶到美國(guó)。2025 年 10 月,我們與 IBM 攜手合作,展示了其對(duì) Java 生態(tài)系統(tǒng)的卓越貢獻(xiàn),甚至在 IBM TechXchange 上舉辦了一次特別的 JCON。
對(duì)我來(lái)說(shuō),正是本地 Java 用戶組(JUG)的活力和全球合作的結(jié)合讓現(xiàn)在的 Java 社區(qū)如此令人興奮。
Schrijver:我一直對(duì) GraalVM 帶來(lái)的驚人可能性印象深刻。在 Devoxx 比利時(shí)大會(huì)上,F(xiàn)abio Niephaus 向我展示了他如何使用 GraalVM 將 Java 應(yīng)用程序編譯成 WebAssembly,實(shí)現(xiàn)了在 Web 瀏覽器中運(yùn)行 Spring Boot 應(yīng)用程序。如果你不相信我,可以親自看看這個(gè) Spring Shell for WebAssembly Web 應(yīng)用程序。
Costlow:自動(dòng)化的現(xiàn)代化工具確實(shí)令人興奮。以前,升級(jí) Java、主要框架和庫(kù)是件苦差事。乏味的工作占用了開(kāi)發(fā)人員大量的時(shí)間,他們要更改代碼,進(jìn)行測(cè)試,完成一個(gè)歷時(shí)數(shù)月的項(xiàng)目,最終得到的功能與之前的系統(tǒng)完全相同。現(xiàn)在,那些優(yōu)秀的工程師幾乎可以自動(dòng)化所有這些工作,把精力用在開(kāi)發(fā)炫酷的新功能上。就 Java 而言,它使開(kāi)發(fā)人員能夠像處理當(dāng)前正在開(kāi)發(fā)的現(xiàn)代化項(xiàng)目那樣,繼續(xù)維護(hù)舊版應(yīng)用程序。
這種現(xiàn)代化對(duì)于新開(kāi)發(fā)人員來(lái)說(shuō)尤其令人興奮,因?yàn)樗麄兞私猱?dāng)今的技術(shù);他們?cè)诖髮W(xué)里沒(méi)有學(xué)習(xí) Spring 1.x。現(xiàn)代化使現(xiàn)有開(kāi)發(fā)人員的工作體驗(yàn)更加愉悅,但對(duì)初級(jí)開(kāi)發(fā)人員尤為友好。
Silz:沒(méi)什么讓人興奮的。這不是 Java 的問(wèn)題,是我自己的問(wèn)題:新版本的語(yǔ)言或框架最多只能讓我的效率提升百分之十,而 AI 至少能讓我的效率提升百分之五十。所以,我選擇把時(shí)間投入到 AI 上,而不是語(yǔ)言或框架上。
Redlich:我很愿意進(jìn)一步了解全新的 Jakarta EE 規(guī)范——Jakarta Query,它在 2025 年初創(chuàng)建并通過(guò)了計(jì)劃審查,現(xiàn)已投票納入 Jakarta EE 12 平臺(tái)及 Web Profile。該規(guī)范的加入實(shí)現(xiàn)了所有數(shù)據(jù)相關(guān)規(guī)范的統(tǒng)一,原有的 Jakarta Persistence Query Language 和比較新的 Jakarta Data Query Language 將統(tǒng)一歸屬于 Jakarta Query 規(guī)范體系之下。
小 結(jié)
請(qǐng)注意,我們的參與者所表達(dá)的觀點(diǎn)僅呈現(xiàn)了部分事實(shí)。在 Java 生態(tài)系統(tǒng)中,不同的群體、細(xì)分領(lǐng)域和地區(qū)可能存在差異化的實(shí)踐經(jīng)驗(yàn)。2025 年的 Java 趨勢(shì)報(bào)告應(yīng)被視為有關(guān)行業(yè)發(fā)展討論的起點(diǎn)而非定論,這是一份關(guān)于行業(yè)未來(lái)發(fā)展方向的公開(kāi)討論邀請(qǐng)函。
https://www.infoq.com/articles/java-trends-report-2025/
聲明:本文為 InfoQ 翻譯,未經(jīng)許可禁止轉(zhuǎn)載。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.