Java 11 于 2018 年正式发布,但报告指出截至 2020 年 3 月时,绝大多数应用程序仍在使用 Java 8,占比高达 84.48%。不过这一情况在过去的两年中已经有所转变,之前的 JVM Ecosystem Report 2021 就曾指出,开发人员正从 Java 8 向 Java 11 转移。New Relic 此次发布的报告也再次验证了这一结论,软件开发人员已将大部分应用程序转移到 Java 11。
数据显示,目前已有超过 48% 的应用程序在生产中使用 Java 11(2020 年为 11.11%);Java 8 紧随其后,占比为 46.45%。新发布的 Java 17 占比尚且不高,但已经超过了 Java 6、Java 10 和 Java 16 版本的份额。关注公众号:架构师专栏,回复:面试题,获取Java 7710页 pdf 面试题.对 Java 7 的支持预计在 2022 年结束,但仍有 1.71% 的应用程序在生产中使用它。同时,虽然 Java 6 已 EOL,但仍有 0.27% 的使用占比。大多数正在使用 Java 6 和 Java 7 的应用程序是尚未升级的遗留应用程序。
与 LTS 版本相比,非 LTS Java 版本的使用率仍然极低,只有 2.7% 的应用程序使用非 LTS Java 版本。虽然 Azul Systems 等一些供应商在一些非 LTS 版本上提供了补丁,但大多数供应商并没有提供;而这可能就是用户不愿升级的原因。在使用的非 LTS Java 版本中,Java 14 是占比最高的,Java 10 和 Java 16 垫底。
供应商方面,甲骨文在 2020 年人气最高,市场上大约 75% 的用户依赖其 JDK。然时至今日,虽然该公司依然把持着市场的头把交椅,但其份额已缩水了将近一半,降为 34.48%。亚马逊市场份额大幅攀升至 22%(2020 年为 2.18%);此外还有 Eclipse Adoptium 占 11.48%、Azul Systems 占 8.17%、Red Hat 占 6% 和 IcedTea 占 5.38%。
此外,容器化应用已经成为主流趋势。向 New Relic 报告的 Java 应用中,有 70% 以上是从容器中进行的。