2022 Java 生态报告出炉:Java 11 接替 Java 8 成为最受欢迎版本

简介: 2022 Java 生态报告出炉:Java 11 接替 Java 8 成为最受欢迎版本

近日,JRebel 发布了最新的 2022 Java 开发人员生产力报告,该报告基于对全球 Java 开发专业人士的调查,持续时间为 2021 年 10 月到 2022 年 1 月,共收集到了 876 份问卷回复。

Java 11 接替 Java 8 成为最受欢迎版本

在 2020 年的报告中,尽管 Java 11 已经发布了一年多,84.48% 的开发者仍然选择使用Java 8。但是自那时起,这两个 LTS 版本之间的占比就开始发生变化。

目前,超过 48% 的开发者在生产中使用 Java 11(高于 2020 年的 11.11%),Java 8紧随其后,占比 46.45%。

此外,对 Java 7 的支持将于 2022 年结束,但当下还有 1.71% 的开发者仍在使用它。

image.png

Java 14是最流行的非LTS版本

与LTS版本相比,非LTSJava版本的使用率仍然非常低,只有 2.7%的应用程序使用非 LTS Java版本。

虽然Azul Systems等一些供应商在非LTS版本上提供了补丁,但大多数供应商并没有提供,而这可能就是用户不愿意升级的原因。

在非LTS Java 版本中,Java14是最受欢迎的,Java 10和Java 16并列垫底。

image.png

甲骨文份额减少,亚马逊崛起

2020 年时,甲骨文是最受欢迎的供应商,市场上大约 75% 的用户依赖其 JDK。

时至今日,甲骨文仍然把持着市场的头把交椅,但其份额已缩水为原先的一半,目前占比 34.48%。

与之相反,亚马逊市场份额已经大幅攀升至 22%(2020 年为 2.18%)。

image.png

另外,在 Java 17发布之前,Eclipse Adoptium 和Amazon在这个表中几乎处于完全相反的位置。

容器化应用已经成为主流趋势

向 New Relic 报告的 Java 应用中,有 70% 以上是从容器中进行的,这证明容器化应用已成为主流趋势。

G1是最受欢迎的GC算法

鉴于垃圾回收 (GC) 在 JVM 性能中的核心作用,所以其仍然是社区中讨论的热门话题。

New Relic 数据显示,Java 8 发布之后,垃圾收集器的使用情况发生了明显变化。

考虑到 Java 11 及更高版本的 G1 收集器有更新默认值和更高的性能,所以G1受开发者欢迎并不令人惊讶。

image.png

完整报告地址:

https://newrelic.com/resource...

相关文章
|
2月前
|
存储 SQL 算法
八个理由:从java8升级到Java17
八个理由:从java8升级到Java17
70 0
|
4月前
|
Oracle JavaScript Java
JDK的版本迭代特性(JDK9 - JDK20)
JDK的版本迭代特性(JDK9 - JDK20)
|
3天前
|
移动开发 前端开发 NoSQL
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
ruoyi-nbcio从spring2.7.18升级springboot到3.1.7,java从java8升级到17(二)
24 0
|
3天前
|
移动开发 前端开发 Java
第一次用java17记录运行ruoyi-vue-plus5.X版本
第一次用java17记录运行ruoyi-vue-plus5.X版本
|
3天前
|
移动开发 Oracle 前端开发
本地开发环境安装java8、java17与java21
本地开发环境安装java8、java17与java21
12 0
|
13天前
|
Java Maven
【亮剑】Java项目开发中常遇到Jar 包依赖冲突问题,主要由不同版本库、循环依赖、传递依赖和依赖范围不当引起
【4月更文挑战第30天】Java项目开发中常遇到依赖冲突问题,主要由不同版本库、循环依赖、传递依赖和依赖范围不当引起。解决冲突需分析依赖树、定位冲突源、调整类加载顺序等。方法包括排除冲突依赖、统一管理版本、限定依赖范围、合并冲突类、升级降级库版本及拆分模块。关注依赖关系,及时解决冲突,保障项目稳定运行。
|
17天前
|
安全 Java
【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁
【JAVA】Java8开始ConcurrentHashMap,为什么舍弃分段锁
|
17天前
|
分布式计算 安全 Java
JAVA的三大版本
JAVA的三大版本
|
18天前
|
Java 编译器 API
Java基础教程(17)-Java8中的lambda表达式和Stream、Optional
【4月更文挑战第17天】Lambda表达式是Java 8引入的函数式编程特性,允许函数作为参数或返回值。它有简洁的语法:`(parameters) -> expression 或 (parameters) ->{ statements; }`。FunctionalInterface注解用于标记单方法接口,可以用Lambda替换。
|
27天前
|
Oracle Java 关系型数据库
Java 开发者必备:JDK 版本详解与选择策略(含安装与验证)
Oracle Java SE 支持路线图显示,JDK 8(LTS)支持至2030年,非LTS版本如9-11每6个月发布且支持有限。JDK 11(LTS)支持至2032年,而JDK 17及以上版本现在提供免费商用许可。LTS版本提供长达8年的支持,每2年发布一次。Oracle JDK与OpenJDK有多个社区和公司构建版本,如Adoptium、Amazon Corretto和Azul Zulu,它们在许可证、商业支持和更新方面有所不同。个人选择JDK时,可考虑稳定性、LTS、第三方兼容性和提供商支持。
99 0