整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

技术更新迭代的速度,让很多开发者被动地开启了奋起直追的模式。但是在某些领域或技术层面,也永远不要小看技术人的「念旧」情结,譬如 2009 年发布的 Windows 7、2014 年发布的 Java 8 在当前技术圈中仍占据不小的份额。

近日,美国软件开发商 Perforce Software 旗下的 JRebel 品牌在对近千名专业的 Java 开发者调研后,重磅发布了《2022 年 Java 开发者生产力报告》。据调查显示,我们有以下最新发现:

  • 八年前发布的 Java 8 依然是 Java 中应用最广泛的版本,占比 37%,其次是 Java 11;

  • Oracle 的 Java 发行版最受欢迎(36%),其次 27% 受访者使用通用OpenJDK Java。

  • Docker 是最常见的虚拟机平台,41% 的开发者使用它。26% 的受访者使用 Kubernetes,其次是 VMware,占 16%。

  • Apache Tomcat 是迄今为止最受欢迎的 Java 应用程序服务器,使用率为48%,其次是 JBoss / Wildfly,占 15%。

  • JetBrains 的 IntelliJ 是最受欢迎的 Java IDE,占 48%,其次是 Eclipse,占 24%,Visual Studio Code 占 18%。

c6b96da4af678f2e8b3506db30aee4e8.png

Java 开发趋势:Java 8 最受欢迎,Java 17 奋起直追

众所周知,Java 8(2014 年 3 月发布)和 Java 11(2018 年 9 月发布)都是长期支持 (LTS) 版本,它们获得了 Oracle 几年的产品支持。对于一些如 Java 9、Java 10、Java 12 到 Java 15 的非 LTS 版本,Oracle 只提供六个月的支持。

八年前发布的 Java 8 依然最流行

因此,当被问及在主要应用程序员中使用哪种 JDK 时, 有 37% 的受访者回答了 Java 8,其次 29% 的开发者在使用 Java 11。另外,有 8% 的开发者使用了与 JVM 兼容的 Kotlin,6% 的受访者使用 Groovy 和 Scala 占比 3%。

24593c4e75272afc9562ef30bee52fd7.png

当进一步了解使用 Java 不同版本背后的公司规模时,我们发现 Java 8 在 100 人以下的公司中使用率要稍低一些,和往年相对比,Java 11 及以上版本使用率有所增加,占比 30%。

7fdc69d9a2f0a63c8eec43af6f3ec8d3.png

与此形成对比的是,拥有 100 名以上员工的公司应用 Java 8 要更多一些,占比 39%。究其原因,主要是因为大厂在生产环境中接受新版 Java 非常困难,有时并不是改几行代码就能解决的事情,测试、迁移、兼容性等都是需要解决的问题,况且很多系统并不会为了单纯的 JDK 升级而升级。

为什么很多开发者选择更换 Java 版本?

这不,也正如调查数据显示,有 25% 的开发者表示长期支持是升级 JDK 最主要的原因。

除了 LTS 之外,安全和性能是最主要的因素,分别为 23% 和 20%。

f84d46cf51e43c3dc6813731bc59e92e.png

不过,近几年,随着 Oracle 将 Java 的更新频率改变,很多大小公司并不会太着急选择将 Java 版本升级,大概率会跟着 LTS 版本走。

37% 开发者计划未来六个月升级到 JDK 17,小公司速度更快

当提及大家还要在 Java 8 版本上坚持多久,才会去应用最新版本 Java 17 ?

近四成开发者表示计划在未来 6 个月内升级到 JDK 17,25% 计划在未来 6-12 月内升级。不过,也有 8% 的受访者称不打算升级到 JDK 17。

48a422921b105f6bbdb2ea0139bd4fe9.png

其中,根据调研数据显示,来自较小公司(100人以下)的受访者了选择采用 JDK 17 的意愿更为强烈,44% 的人计划在未来 6 个月内升级到 JDK 17。规模较大的公司(超过100人)的受访者需求就没有那么强,有 38% 的受访者计划在未来 12 个月后的某个时间升级。

d0426e3e487e7e55c99ca687b802ce00.png

毋庸置疑,LTS JDK 版本相较非 LTS 版本具有更强的吸引力。不过和上一个 LTS 版本的 Java 8 相比,Java 17 的发展势头更迅猛。

Oracle JDK 即使收费,也是开发者最常用的 JRE/JDK 发行版

2019 年 4 月,Oracle 宣布 Oracle JDK 开启商用收费模式。不过,在今年受访者群体中,Oracle Java 依然是开发者首选的发行版,占 36%。现实来看,这一点也不足为奇,毕竟 Oracle Java 这样的商业发行版可以为大企业提供更为可靠的补丁和更新等服务,由此也让许多大型企业减少内部成本。

Generic OpenJDK 和 AdoptOpenJDK/Adoptium 分列二三位,占比 27% 和 16%。

b41586c4213a5afb37a0c8b1a60bb537.png

Java 应用程序架构趋势:微服务是当之无愧的 NO.1

据调查显示,在开发应用程序所采用的架构中,微服务最受欢迎,占比 32%。其次单片机应用程序占 22%。

d8c4c07ed8531dd2fe805876214fabc1.png

有趣的是,大型企业(100 名以上员工)对微服务的采用率为 36%,这与小型企业(100名以下员工)的 28% 形成鲜明对比。

d689989a4e86e90617c8b5c2817f54dd.png

近九成开发者正在使用微服务 

当问及开发者对微服务的使用状况时,我们发现大多数组织或团队要么拥有完全基于微服务的应用,要么目前正在向微服务架构过渡,这一比例高达 88%。

53ba8c81d98e0a8b543458880fd2a8c9.png

Java 技术趋势:DockerApache Tomcat 最受开发者欢迎

今年,JRebel 也对虚拟机、框架、云平台、构建工具和 IDE 的使用情况做了进一步的调研,发现在一些流行的虚拟机和容器等平台中,Docker 的热度居高不下,占比 41%,远超位居第二的 Kubernetes(26%)。VMWare 排在第三位,占16%。

a300ab59d95d12dccd81c9556c4e86b5.png

Java PaaS 供应商

AWS 是最受欢迎的 PaaS 供应商,占比 31%。那些不使用 PaaS 的受访者以 24% 的比例位居第二。Azure 是第三位最受欢迎的,占 14%。

31a2b8defb5367c70888c2d2b056685a.png

应用服务器

与往年一样,Apache Tomcat 是程序员最喜欢的 Java 应用服务器,占比 48%。其次分别为 JBoss/Wildfly(15%)、Jetty(13%)。

ff27b5d1cb17f8c0c3b0f2df379d105d.png

构建工具

在构建工具层面,Maven 使用率最高,占 68%,比去年的使用率增长了一些。

3d513a048cc49ecb812610b8aa6fbe20.png

与小型公司相比,大型公司对 Maven 使用率更高,占比 71%,而小型公司只有 65%。

Java IDEs

在 2022 年,IntelliJ IDEA 再次成为开发 Java 应用程序时最受欢迎的 IDE,48% 的受访者选择它作为他们的 IDE。Eclipse 位居第二,占比 24% 。其次分别为 VSCode(18%)和 Netbeans(6%)。

整体而言,后来者 VSCode 在竞争激烈的 Java 集成开发环境中逐渐站稳了脚跟。或许很多时候,不少开发者会将其和 IntelliJ 等主流 IDE 同时使用,但一定程度上,它正在蚕食 Eclipse 的市场份额。

98689219947b11b865a759a2e5c7c528.png

CI/CD 技术趋势

CI/CD、DevOps 方法和工具的实施是企业应用 Java 过程中不可缺少的一部分。根据调查报告显示,和去年一样,Jenkins 是最受欢迎的选择,占比 46%。GitHub Actions 排在第二位,占 16%。

4320e2ba2eb423c79daf8abca69b47e2.png

在 CI/CD 构建时间上,较小的组织(100名员工以下)的受访者表示不会花费太久的时间,其中 58% 的受访者表示 CI/CD 构建的时间控制在 5 分钟以下。与之形成对比的是,大型组织(超过 100名员工)的这一比率缩减到 42%,且 40% 使用了超过十分钟的时间。

70599b7f642c65a0a3752c201dc661c8.png

CI/CD 提交频率

与去年类似,大多数受访者表示,他们每天至少提交五次代码。

e2b7ed7ca05088b0b172ca3f0cc891e7.png

以上是你的真实现状吗?欢迎留言,分享你在 Java 应用过程中的想法。

更多报告内容见:https://www.jrebel.com/resources/java-developer-productivity-report-2021

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐