網路監控管理服務New Relic發布2023年Java生態系調查報告,官方指出,在過去幾年由於Java新版本的發布和容器應用的興起,讓Java的使用情況出現變化。New Relic報告顯示Java 17的採用率正飆升,而且由於AWS(Amazon子公司)的OpenJDK版本Amazon Corretto,受到雲端開發者的大量採用,使得Amazon現在成為最受歡迎的JDK供應者。

Java是一種高階語言,由昇陽電腦公司開發,其目標是要設計一個可在各種電腦硬體和作業系統上運作的程式語言,由於Java的可移植性和跨平臺等特性,目前是熱門的程式語言之一,各產業和領域都可以看到Java應用,Java擁有豐富的函式庫,並受到良好的維護。

前一年New Relic的Java生態系大調查中,就可以看出甲骨文(Oracle)Java市占衰退的端倪,過去許多開發人員的JDK來自甲骨文,而由於OpenJDK專案的出現,使得開發者有更豐富的選擇。在2020年,甲骨文位居領先定位,約占Java市場的75%,而到了2022年,市占已經不到之前的一半,反而Amazon已經上升到22.04%。

到了2023年,Amazon已經正式超過甲骨文,成為目前最受歡迎的JDK供應商,市占繼續成長達到31.35%,而甲骨文則繼續下滑,目前市占為28.75%。

根據New Relic的觀察,容器已經是Java應用的最大宗,報告顯示70%的Java應用程式用於容器。越來越多Java開發者在容器中使用多核心配置,目前僅有36%還在使用單核心配置,大部分皆已移向多核心配置,最高比例是8核心配置占29%,較2022年成長9%。

不過,New Relic表示,整體而言比起非容器環境,開發者在容器雲端環境中,更傾向使用較小的資源配置,但這種趨勢可能出現意想不到的問題,像是在單核心配置下,即便開發者明確地配置使用垃圾回收器,但是最終可能得不到期望效果。

在記憶體的配置上,也可以看出容器實例更小的趨勢,30%的容器化應用程式會以旗標-XX:MaxRAMPercentage明確定義JVM記憶體使用上限,而這個比例在2022年僅為9%,比例的變化顯示該旗標越來越普遍,開發人員透過該旗標來改善應用程式的效能和資源管理。

與2022年一樣的是,G1垃圾回收器依然是Java 11和以上版本開發者的愛用選項,有65%的開發者選用G1垃圾回收器,其主要優點是每次在回收記憶體時,傾向清除較小的區域,而不會一次回收一大塊區域,透過最佳化回收過程,不只減少程式產生卡頓的問題,還能同時回收不同世代的物件。

在Java長期支援的版本選擇上,有超過56%的生產應用程式使用Java 11,第二多的版本則是Java 8,但其使用比例已經從2022年的46%下降到33%。而最新的長期支援版本Java 17,雖然目前使用率僅有9%,但是New Relic提到,與前一個長期支援版本相較起來,Java 17採用的速度遠遠超過Java 11剛推出時的採用速度。Java非長期支援版本的使用率極低,僅有1.6%的應用程式使用。

熱門新聞

Advertisement