InfoQ 最新 Java 發展趨勢報告

作者 | Michael Redlich, Ben Evans, Erik Costlow, Johan Janssen 等

譯者 | 平川

策劃 | 丁曉昀

我們關注 Java,以及 Kotlin 和 Scala 等相關語言、Java 虛擬機器(JVM)和基於 Java 的框架和工具。

我們探討 Java 最主要的趨勢,如 Java 新版本的採用,以及 Jakarta EE、Quarkus、Micronaut、Helidon、MicroProfile 和 MicroStream 等框架的演變。

本報告主要有兩個目標:

幫助技術負責人做出中長期的技術投資決策。

幫助個體開發者選擇將其寶貴的時間和資源投入到何種技能的學習和發展中去。這是我們釋出的第三份 Java 趨勢報告。不過,我們從 2006 年開始就在內部跟蹤 Java 和 JVM 的趨勢,因此,我們實際上已經對這個話題做了充分的報道。

為了幫助 InfoQ 和 QCon 把握當前和未來的趨勢,我們採用了 Geoffrey Moore 在其同名著作中首倡的 “跨越鴻溝 ”技術成功心理模型。我們試圖識別出那些符合 Moore 所說的早期市場的想法,即 “客戶群是由技術愛好者和有遠見的人組成的,他們希望在機會或迫在眉睫的問題上佔得先機”。

和 2020、2019 年的 Java 發展趨勢報告一樣,下面是 2021 年我們內部使用的主題圖譜:

InfoQ 最新 Java 發展趨勢報告

作為背景資訊,下面是 2020 年我們內部使用的主題圖譜。

InfoQ 最新 Java 發展趨勢報告

除了 Innovators 領域的一些新技術之外,其他值得注意的變化包括:將 Spring(及其相關專案)、Jakarta EE 和 Scala 的版本定義為不同類別。我們決定採用這種方法是為了避免將成熟度和採用情況不同的技術歸入一個類別。

計劃於 2022 年底釋出的 Spring Framework 6 和 Spring Boot 3 將經歷一次大幅修改以採用模組化,並將需要 JDK 17+ 和 Jakarta EE 9。最近,Spring Framework 6 的第一個里程碑版本已經提供了預覽。

Spring Native 是 2021 年初推出的一個新工具,可以將當前用 Java 或 Kotlin 編寫的 Spring Boot 應用程式轉換為 GraalVM 原生映象,該專案目前處於早期開發階段。

2021 年初發布的 Scala 3 進行了大幅修改,增加了許多新特性、新語法和備受期待的新 Dotty 編譯器,該編譯器已經開發了好幾年了。

2021 年 4 月,微軟推出了 Microsoft Build of OpenJDK,即他們自己的 OpenJDK 下游發行版,進一步增加了對 Java 程式語言的投入。

AdoptOpenJDK 加入了 Eclipse 基金會,並立即改名為 Adoptium。向 Adoptium 的過渡工作包括建立一個 Eclipse 工作組,並將 AdoptOpenJDK 拆分為 Adoptium 頂級專案下的多個子專案:Eclipse AQAvit、Eclipse Temurin 和 Eclipse Temurin Compliance。

下面是幾位 InfoQ Java Queue 編輯和 Java Champion 針對各種主題的討論的簡單彙總:

Michael Redlich,埃克森美孚工程研究部門高階研究員和 InfoQ Java Queue 編輯。

Ben Evans,紅帽公司高階首席軟體工程師、Java Champion 和 InfoQ Java Queue 編輯。

Erik Costlow,Contrast Security 開發者關係總監和 InfoQ Java Queue 編輯。

Johan Janssen,Sanoma Learning 軟體架構師和 InfoQ Java Queue 編輯。

Karsten Silz,資深 Java 全棧開發人員和 InfoQ Java Queue 編輯。

Monica Beckwith,微軟高階首席工程師和 Java Champion。

Ana Maria Mihalceanu,紅帽開發大使和 Java Champion。

Reza Rahman,微軟 Azure 首席 Java 專案主管。

Simon Ritter,Azul 公司副首席技術官和 Java Champion。

我們認為,這可以為我們在內部主題圖譜上對某些技術的建議定位提供更多的背景資訊。

JDK 17

Beckwith:

透過“JEP 403:JDK 內件強封裝”,Java 現在成了更有力的 OOP 原則執行者。透過一個平臺無關的 Vector API 進行向量計算。語言增強,如 Records,JVM 改進,如 Valhalla 專案,消除了許多冗長的內容,並進一步擁抱了不變性的概念,為效能最佳化提供了可能。

Mihalceanu:

2021 年,無論是 Java 的 LTS 版本,還是非 LTS 版本,都給 Java 開發者帶來了驚喜。Java 17 的釋出證實,預覽功能中的許多功能現在已正式可用,並將長期可用。它也增加了將一些仍在 Java 8 上執行的專案遷移到更新版本的緊迫感。Java 17 是長期支援版本,它實現了 NullPointerExceptions 這個 Java 開發人員長期以來的夢想。

Rahman:

一如既往,Java 生態系統的各個部分都保持著活力。這證明了 Java 的根本優勢。我認為,Java SE 17 特別受歡迎,尤其是像 Records 這樣的功能。像 WildFly、Payara 和 Open Liberty 這樣的執行系統正在採用 Java SE 17。雖然一些開發者已經採用了 Java SE 11,但 Java SE 8 仍然非常有黏性。Java SE 17 有可能最終改變這種狀況。

Ritter:

JDK 17 的釋出意義重大。這意味著所有的 OpenJDK 發行版都有了一個新的長期支援(LTS)版本。對於那些為了儘可能保持穩定和安全而不希望每六個月升級 Java 版本的人來說,這是一個重要的發行版。我們看到,一些小的語言特性往平臺新增的速度比以往任何時候都更快,我喜歡這種方式。這要歸功於六個月的釋出節奏,這也使得孵化器模組和預覽功能都更實用。

關於 JVM 在雲環境中的執行機制方面也有一些有趣的進展,如 OpenJDK 中有一個名為檢查點協調恢復(CRaC)的新專案。像 Records 這樣的特性是開發新程式碼的上佳選擇。

Evans:

Java 17 LTS 釋出,已具備能力部署使用了記錄和密封型別的程式碼,還有用於監控 JVM 組的 JFR 流。在可觀察性領域走向標準化——特別是 OpenTelemetry。對於 Java 靜態部署的含義(“靜態 Java”)出現了早期共識的跡象。我還認為,Panama 將是一個超出人們預期的專案。

OpenJDK 的下游發行版

Costlow:

現在,JDK 有太多沒什麼差異的發行版。微軟有一個,Eclipse 有 Adoptium with Temurin,Oracle 也有他們自己的,還有 Azul、AWS Corretto、Red Hat、Liberica、SAP Machine 等 OpenJDK 構建。我看到,這些東西在快速增加,但很難把它們都搞清楚。Snyk 的調查似乎與我看到的使用情況一致。鑑於它們都是相容的,我希望市場能提供一個隨機裝置,我只要告訴它 ”給我個 OpenJDK“就行,讓新晉 Java 開發人員不用再為選擇哪個 JDK 發行版而苦惱。

Eclipse 的品牌建設尤其令人困惑:Adoptium 是 Eclipse 裡面的一個小組,而 Eclipse 也是一個小組。你在使用 Temurin,它是 OpenJDK。想象一下,假如你在自己學習 Java,碰到這樣一句話:“Eclipse Temurin 是 Adoptium 提供的 OpenJDK 發行版的名字”。品牌名稱還是越少越好。

Janssen:

來自 Bellsoft 的 Liberica 實際上提供了相當有趣的產品,這使得他們不同於其他 JDK 供應商。例如,有一個完整的 JDK 仍然包含 JavaFX。我只知道 ojdkbuild 提供了一個類似的構建。除此之外,他們還有其他多個 JDK 和 JRE 的變種。

Azul 支援非 LTS 版本,並會在更長的時間內提供小版本更新。部分供應商還提供 Docker 映象等。所以差異還是有一些的,但終端使用者很難對它們進行比較,並正確選擇使用哪一個。

Java EE/Jakarta EE

Rahman:

從 Java EE 到 Jakarta EE 的過渡是我們這個領域最大最重要的技術轉換之一。Jakarta EE 9。x 的推出為這一轉換打下了堅實的基礎。很高興看到 Jakarta EE 10 正朝著 2022 年初發布的方向前進。看起來,Jakarta EE 大使貢獻指南中的許多專案都正在實現過程中,這可以填補一些長期存在的空白。我認為,Java EE 的長期使用者可以鬆一口氣了。

我也非常高興地看到,Jakarta EE 9。x 發展勢頭不錯。大多數執行時已經完成了從 javax 到 jakarta 名稱空間的過渡,包括 Tomcat 和 Jetty。Spring Framework 6 正致力於同時採用 Java SE 17 和 Jakarta EE 9。同樣,MicroProfile 5 也正在向 Jakarta EE 過渡。根據 2021 年 Jakarta EE 開發者調查,相當多的開發者已經過渡到 jakarta 名稱空間或正在計劃這樣做。

Jakarta EE 10 Core Profile 正在為實現 Quarkus 和 Helidon 的完全相容鋪路,MicroProfile Config API 正在向新的 Jakarta 配置規範過渡,MicroProfile Context Propagation 也在發生著同樣的變化。MicroProfile REST 客戶端和 JWT Propagation 也可能會發生同樣的情況。

Redlich:

隨著 Jakarta EE 9 的釋出,工具供應商可以支援新的 jakarta 包名稱空間,開發團隊可以測試應用程式向新名稱空間的遷移,而執行時供應商可以測試並提供選項和能力,為遷移和相容 Jakarta EE 8 提供支援。Jakarta EE 9 也被認為是一個創新的基礎,有助於推動 Jakarta EE 10 及後續版本的新特性。

GraalVM/Spring Native

Mihalceanu:

構建本地可執行檔案是另一個經常被標記為 “最需要 ”的話題,因為圍繞容器化應用程式更小更快的競賽仍在繼續。

Rahman:

看到 Spring Native 不斷取得進展也是非常好的。

Costlow:

我很高興地看到,原生應用程式的角色已逐步成型,但令人失望的是,缺少一個具體的規範或工作組。情況似乎會變成這樣,“你得到了 GraalVM 碰巧提供的東西”,但它的行為有時與標準 JDK 不同——相似但不相同。

Janssen:

Spring Native 攜啟動速度快和記憶體佔用率低的優勢與所有 GraalVM 及其他框架展開了競爭。

Silz:

一旦 Spring Boot 支援 GraalVM 的本地編譯,快速而小巧的原生 Java 程式將成為主流。這將使得 Java 在無伺服器解決方案方面更具競爭力,並可能有助於其在微服務領域的採用。我說 “可能 ”,是因為我認為,到今天為止,對於長期執行的程序,JVM JIT 的吞吐量 / 效能仍然優於 GraalVM。無論怎樣,這都會得到大量媒體的報道,並使 Java 在整體上更具競爭力。

ARM64/Windows on ARM

Beckwith:

ARM64 現在是商用硬體。因此,為在 ARM64 上部署而最佳化過的 Java 開發工具包和 Java 執行時環境已經越來越主流。

Silz:

Java 16 支援 Windows on ARM。但我認為,只有 Java 17 和 ARM on macOS 一起才能開啟方便之門。我相信,大約有四分之一的 Java 開發者使用 Mac。而到 2022 年底,他們只能購買帶有 ARM 的 Mac。我預計這也將推動 Windows/Linux on ARM 變得更好。

Jakarta EE 與 MicroProfile

結盟 == Java 雲原生

Redlich:

MicroProfile 和 Jakarta EE 工作組是 Eclipse 基金會下兩項互補的計劃,他們合作成立了 Java 雲原生(CN4J),一個定義 Jakarta EE 和 MicroProfile 定位和合作關係的聯盟,包括品牌和雲原生技術。

Rahman:

看到 Quarkus 在 Java EE 和 Spring 開發者中取得了應有的進展,真是讓人驚喜。我也很高興能夠看到 Jakarta EE 和 MicroProfile 最終結盟。

JavaFX/Gluon

Costlow:

對於 Gluon 為使單個 JavaFX 程式碼庫隨處可執行所做的工作,我印象非常深刻。Web 是之前缺失的部分,而坦率地說,客戶端 Java 現在看起來又很酷了。

採用模組化

Silz:

我認為 JPMS 試圖解決三個問題:應用伺服器的類載入困境;更好地組織 JDK 和所有的 Java 應用;減少部署 / 執行時的 JVM 記憶體佔用。

然而,至少在 JPMS 多次推遲後終於推出時,這些問題都已經有了足夠好的解決方案:用於類載入的 OSGI;用於 Java 程式結構的領域驅動設計 / 清潔架構 /Modulith/ArchUnit 測試;以及用於減少 JVM 記憶體佔用的提前編譯。

儘管我們可能有少數資料點不可靠,但它們都顯示,Java 8 及更早版本的使用量要大於等於 Java 11 及更新版本的使用量。我認為,這部分是因為模組使 Java 9+ 獲得了“很難從 Java 8 升級上去”的名聲,這點也為 Mark Reinhold 所承認。這是 JPMS 所帶來的一個意想不到的後果。這意味著至少有一半的 Java 開發者無法利用過去 7 年中 Java 取得的進步,因為他們被困在了 Java 8 上。

在模組上投入了 7 年多,其間的機會成本意味著許多其他的 Java 改進要麼被擱置,要麼只出現在 Java 10 及後續版本中。變數關鍵字 var、新的 switch 語法和 Java Record 減少了 Java 中許多臭名昭著的樣板程式碼。如果這些都出現在 Java 9 中,而不是 Java 模組中,我想 Java 現在的情況會更好,因為它為開發者帶來了更高的生產力。

自去年至今有什麼變化?

Beckwith:

得益於現有垃圾收集器的改進,許多架構師和開發人員已經控制了 GC(垃圾收集)的暫停時間。還有許多人透過將工作負載遷移到低延遲、自適應的 GC 來控制尾部延遲。

Evans:

在市場份額方面,Java 11 已經基本上與 Java 8 持平。容器取得突破性進展,現在已成為大多數 Java 應用程式的部署方式。Quarkus 日趨成熟,並吸引了大量的新粉絲。

Redlich:

Eclipse 基金會下成立了多個工作組:MicroProfile、OSGi 和 Adoptium(以前稱為 AdoptOpenJDK)。MicroProfile 工作組和 Jakarta EE 工作組在 Cloud Native for Java(CN4J)聯盟倡議上展開了合作。

微軟建立了自己的 OpenJDK 下游發行版——Microsoft Build of OpenJDK,並加入 Java Community Process,進一步增加了對 Java 的投入。

Java 社群怎麼說?

Beckwith:

Switch 語句的模式匹配、本地映象、雲原生 -JVM 和加速器上的 JVM、Loom 和 Graal 專案。

Mihalceanu:

升級換代。由於 Java 語言的發展,框架特性也隨之蓬勃發展。根據我的經驗,編寫乾淨、安全的程式碼直接取決於團隊的共享方式。現在,得益於一些框架的內建功能,可以透過持續測試以及少量的本地配置來儘量減少開發或修復程式碼的時間。

Rahman:

Java SE 17 和 Quarkus 風頭正盛。Kubernetes 仍然很受歡迎。人們對於 Spring Native 的早期熱情高漲。開放標準 Java 社群的人們正在密切關注 Jakarta EE 10 和 MicroProfile/Jakarta EE 的結盟。對於生態系統中的每個人來說,都有一些好事發生。

Ritter:

幾乎所有的開發者,至少在從事新專案的開發時,關注的焦點都是如何最有效地利用雲,特別是透過微服務架構。在編寫這些型別的應用程式時,容器以及 Kubernetes 和 Spring Boot 等技術非常強大。我聽過很多關於如何使用這些技術的討論。

Evans:

Java 17、Loom、Quarkus。

有什麼意料之外的令人興奮的新東西?

Beckwith:

我預料到了 Java 生態系統的豐富性和 Java 開發工具包產品不同 JDK 供應商的偏好。不過,大家的參與度以及對釋出節奏加速的認同,還是讓人感到驚喜。

Ritter:

縱觀 Java 平臺,沒有什麼是我們沒有想到的,這是件好事。現在,新特性都是使用 JEP 來定義它們要做的事情,我們有一個清晰的路線圖,從中可以看到未來若干年內將包含在 Java 中的東西。也就是說,開發者可以放心,不會有影響向後相容性的大變化,至少不會在沒有足夠的時間來評估和討論的情況下。

Evans:

包括 Azul 和 Red Hat 在內的一些供應商開始關注暖啟動 / 暫停和恢復 /CRaC 技術。

Redlich:

MicroStream 成立,這是一家 Java 持久化公司。雖然他們的歷史可以追溯到 2013 年,但該公司是 2019 年正式成立的。從那時起,他們開源了 MicroStream,並在今年早些時候釋出了 MicroStream 5。0。MicroStream 已經與 Helidon 整合,而且剛剛釋出了 6。0 版本。

Silz:

在停滯多年後,VS Code 正在顛覆 Java IDE 領域的局面。它是個新穎的東西:一個跨平臺、跨語言的 IDE,它速度快,有非常不錯的外掛,並且廣受使用者喜愛!你可能覺得這聽起來像 “20 年前的 Eclipse IDE”,沒錯。

VS Code 最近增強了它的 Java 功能。我希望它能成為最好的免費 Java IDE。我認為 Eclipse 意識到了這種威脅,並建立了一個工作組來協同防禦。我不確定 IntelliJ 會受到多大的影響。

使用 VS Code 進行 Java 開發有一個令人興奮的副作用,就是你可以很輕鬆地用非 JVM 語言進行開發。我認為你在 Eclipse 中根本無法做到這一點,或者只能在一定程度上做到。你可以使用 JetBrains 的 “所有產品包 ”來開發非 JVM 語言,但是你必須啟動不同的 IDE,它們不共享設定、外掛或鍵盤快捷鍵。

Java 社群

Mihalceanu:

我在大學時就開始了我的 Java 之旅,瞭解到 Java 支援面向物件程式設計,包括設計模式和最佳編碼實踐。作為一名專業人士,我很高興地看到,隨著時間的推移,這門語言也吸收了其他正規化:函式式、反應式,在不失去可讀性的前提下提供了更多的實現選項。如何在這些模式之間做出選擇?間或對應用程式進行效能分析,發現瓶頸,並改進實現邏輯。

此外,沒有人就不可能有進步。Java 社群是一個龐大的、充滿活力的、熱情洋溢的社群,無論是實際存在的社群,還是虛擬社群,目的都是一樣的:分享知識,提高自己,成功地解決問題。

請注意,貢獻者的觀點僅僅道出了這個故事的一部分。Java 生態系統的不同部分和地區可能有不同的經驗。您可以將我們這份 2021 年 Java 發展趨勢報告視為一個辯論的起點,而不是一份權威性的宣告,並歡迎大家對行業的發展方向進行公開討論。

作者簡介:

Michael Redlich

是位於新澤西州克林頓的埃克森美孚工程研究部門高階研究員(他在本文中的觀點和意見僅代表他自己,和他的僱主無關)。他是一名 IT 專業人士,擁有羅格斯大學計算機科學學士學位。自 2001 年以來,他一直是花園州 Java 使用者組(原 ACGNJ Java 使用者組)的主持人,同時也是一位經驗豐富的會議發言人,在加入 InfoQ 之前與 Barry Burd 合作撰寫了多篇文章。自 1989 年 12 月以來,作為埃克森公司和埃克森美孚公司的長期僱員,Mike 在公司中承擔了許多工,包括汽車測試、從事利用紅外光譜學和化學計量學的分析科學研究、開發科學方面的 IT 應用,他目前的任務是從事利用流變學和聚合物物理學的高分子科學研究。在他的職業生涯中,Mike 發展了自己的領導能力,他曾擔任新澤西州業餘計算機小組(一個非營利性的 501(c)(3) 計算機教育組織)的主席,目前則擔任花園州 Java 使用者組(也是一個非營利性的 501(c)(3) 組織)的主管。Mike 是國際演講協會的成員,最近取得了高階溝通者銀牌證書。他酷愛跑步和騎行,完成了許多馬拉松比賽。Mike 與他的妻子 Rowena 居住在新澤西州弗萊明頓,他們在那裡共度美好時光,騎行或跑步,旅行的話,則主要是到洛杉磯的新奧爾良和里約熱內盧的新港。

Ben Evans

是紅帽公司高階首席軟體工程師。此前,他曾擔任 New Relic Instrumentation 首席架構師。他還是 jClarity(一家 JVM 效能最佳化公司,於 2019 年被微軟收購)公司的聯合創始人。他是 JCP 執行委員會的前成員,在長達 6 年的時間裡幫助定義 Java 生態系統的標準。Ben 是 Java Champion;曾經 3 次作為 JavaOne Rockstar 的演講者;他是《Java 最佳化》、新版《Java 技術手冊》和 《程式設計師修煉之道》等書的作者。他經常就 Java 平臺、效能、架構、併發性、創業公司和相關主題發表演講。

Erik Costlow

是一位擁有豐富 Java 經驗的軟體安全專家。他負責管理 Contrast Security 和公共社群版的開發者關係。Contrast 在應用程式中添加了感測器,使他們有能力根據應用程式如何使用資料來檢測安全威脅。Erik 曾是甲骨文公司專注於 Java 8 安全的首席產品經理,在駭客攻擊的高峰期加入,然後在兩年沒有零日漏洞的情況下離開。在那段時間裡,他從企業 / 商業和社群層面詳細瞭解了 Java。他還在資料中心和雲效能自動化方面為 Turbonomic 的產品管理團隊提供了幫助。Erik 還領導了 Fortify 靜態程式碼分析器的產品管理,這個工具可以幫助開發者發現和修復自定義原始碼中的漏洞。Erik 還透過 Packt Publishing 出版了一些關於資料分析、統計和密碼學的開發者課程。

Johan Janssen

是 Sanoma Learning 教育部門的軟體架構師。他喜歡分享與 Java 相關的知識。他曾在 Devoxx、Oracle Code One、Devnexus 等會議上發表演講。他曾參與程式委員會來協助會議舉辦,並組織發起了 JVMCON。他曾獲得 JavaOne Rock Star 和 Oracle Code One Star 獎項。他為數字和印刷媒體撰寫了各種文章。他是 Chocolatey 各種 Java JDK/JRE 包的維護者,每月有大約 10 萬次下載。

作為一名全棧 Java 開發人員,Karsten Silz 在歐洲和美國工作了 23 年。2004 年,他在美國與人合夥創立了一家提供軟體產品的初創公司。Karsten 領導產品開發 13 年,在公司成功售出後離開。自 2017 年以來,他一直在德國和英國做承包商(Spring Boot、Angular、Flutter)。2020 年,他與人共同創立了 SaaS 初創公司“Your Home in Good Hands”,他擔任公司 CTO。

Monica Beckwith

是一名 Java Champion,同時也是一名 Java 效能工程師。她目前在微軟從事改進 OpenJDK HotSpot VM 的工作。她曾與 Arm、Oracle/Sun 和 AMD 合作;為伺服器類系統最佳化 JVM。Monica 曾被選為 JavaOne Rock Star 演講者,並且是 Garbage First Garbage Collector(G1 GC)的效能負責人。歡迎在 twitter 上關注她(@mon_beck)。

Ana Maria Mihalceanu

是一名 Java Champion,紅帽公司的開發大使,布加勒斯特軟體工匠精神社群的共同創始人。她喜歡採用挑戰性的技術方案(涉及基於 Java 的框架和多個雲供應商),並樂此不疲。她透過知識共享積極支援技術社群的發展,並喜歡作為專案委員會成員策劃會議內容。想了解更多關於她的資訊,請在 Twitter 上關注她(@ammbra1508)。

Reza Rahman

是微軟 Azure Java 首席專案經理。他致力於讓 Java 開發者成為微軟的一等公民,而微軟成為 Java 生態系統的一等公民。Reza 曾是甲骨文公司的官方 Java 技術專家。他是 Manning Publishing 出版的暢銷書《EJB 3 實戰》的作者。長期以來,Reza 經常在世界各地的 Java 使用者組和會議上發言,包括 JavaOne 和 Devoxx。他協助領導費城的 Java 使用者組,並且很高興成為 Jakarta EE Ambassador 的創始成員。

Simon Ritter

是 Azul 系統公司的副 CTO。Simon 從 1984 年開始加入 IT 行業,擁有英國布魯內爾大學物理學學士學位。1996 年,Simon 加入 Sun Microsystems 公司,從 JDK 1。0 開始接觸 Java 技術;他曾從事 Java 開發和諮詢方面的工作。隨著 Sun 被收購,他成了 Oracle 的一員,負責管理核心 Java 平臺的 Java 推廣團隊。現在,在 Azul,他繼續幫助人們瞭解 Java 以及 Azul 的 JVM 技術和產品。Simon 曾兩次在 JavaOne 大會上被授予 Java Rockstar 獎項,並且是一名 Java Champion。他代表 Azul 公司參加 Java SE 專家組、JCP 執行委員會、OpenJDK 漏洞小組和 Adoptium 指導委員會。

https://www。infoq。com/articles/java-jvm-trends-2021/