New Relic 最新发布了一份“2023 年 Java 生态系统状况报告”,旨在提供有关当今 Java 生态系统状态的背景和见解。该报告基于从数百万个提供性能数据的应用程序中收集的数据,对生产中使用最多的版本、最受欢迎的 JDK 供应商、容器的兴起等多方面进行了调研分析。
Java 17 用户采用率在一年内增长了 430%
Java 每两到三年推出一个长期支持 (LTS) 版本。其中,目前最受欢迎的一个版本是 2018 年 9 月发布的 Java 11;有超过 56% 的应用程序在生产中使用它,高于 2022 年的 48% 和 2020 年的 11% 占比。2014 年发布的 Java 8 紧随其后,近 33% 的应用程序在生产中使用该版本,低于 2022 年的 46%。
报告称,虽然 Java 11 已经连续两年占据榜首,但 Java 17 (2021 年 9 月发布) 的采用率增长远远超过了 Java 11 推出时的情况。现共有超过 9% 的应用程序在生产中使用 Java 17 (2022 年还不到 1%),这意味着其在一年内实现了 430% 的增长率。而 Java 11 花了多年时间才达到接近这个水平的增长。
对 Java 7 (2011 年 7 月发布的 LTS 版本) 的支持已于 2022 年结束,现只有 0.28% 的应用程序仍在生产中使用该版本。大多数使用 Java 7 的应用程序都是尚未升级的遗留应用程序。
Java 14 是最受欢迎的非 LTS 版本
与 LTS 版本相比,仅支持六个月的非 LTS Java 版本的使用率仍然极低;只有 1.6% 的应用程序使用非 LTS Java 版本,低于 2022 年的 2.7%。其中,于 2020 年 1 月发布的 Java 14 仍然是最受欢迎的非 LTS 版本;使用率为 0.57%,低于 2022 年的 0.95%。Java 15 紧随其后为 0.44%,低于 2022 年的 0.70%。
报告认为,导致非 LTS 版本使用率下降的一些可能因素包括:
- 缺乏支持
- 特性的感知吸引力
- 距离下一个 LTS 版本的时间长度
Amazon 是现在最受欢迎的 JDK 供应商
2020 年,甲骨文是最受欢迎的 JDK 供应商,占据了大约 75% 的市场份额。2022 年,甲骨文虽然保住了第一的市占位置,但其份额已经缩水了近一半,跌至 34%,2023 年还继续下滑到了 28%。New Relic 认为,导致这一现象的主要原因是甲骨文对 Java 11 的限制性许可。此后,该公司对 Java 17 恢复了更加开放的立场。
与此同时,Amazon Corretto 使用率大幅增加成为最常用的 Java 开发工具包,市场份额达到 31%。使得该公司成为最受欢迎的 JDK 供应商,其 2020 和 2022 年的市占分别为 2.18% 和 22%。
报告中的一些其他内容还包括:
- 容器化应用程序已成为主流——向 New Relic 报告的 Java 应用中有 70% 是从容器中进行的。
- Garbage-First (G1) 垃圾收集器仍然是使用 Java 11 或更高版本的用户的最爱,有 65% 的使用率。其他在 Java 8 之后出现的实验性垃圾收集器(ZGC 和 Shenandoah)在生产系统中的使用仍然很少。两者都有生产就绪版本,但在一般处理中仍然可以忽略不计。
更多详情可查看完整报告。