技术更新迭代的速度,让很多开发者被动地开启了奋起直追的模式。但是在某些领域或技术层面,也永远不要小看技术人的「念旧」情结,譬如 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%。
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%。
当进一步了解使用 Java 不同版本背后的公司规模时,我们发现 Java 8 在 100 人以下的公司中使用率要稍低一些,和往年相对比,Java 11 及以上版本使用率有所增加,占比 30%。
与此形成对比的是,拥有 100 名以上员工的公司应用 Java 8 要更多一些,占比 39%。究其原因,主要是因为大厂在生产环境中接受新版 Java 非常困难,有时并不是改几行代码就能解决的事情,测试、迁移、兼容性等都是需要解决的问题,况且很多系统并不会为了单纯的 JDK 升级而升级。
为什么很多开发者选择更换 Java 版本?
这不,也正如调查数据显示,有 25% 的开发者表示长期支持是升级 JDK 最主要的原因。
除了 LTS 之外,安全和性能是最主要的因素,分别为 23% 和 20%。
不过,近几年,随着 Oracle 将 Java 的更新频率改变,很多大小公司并不会太着急选择将 Java 版本升级,大概率会跟着 LTS 版本走。
37% 开发者计划未来六个月升级到 JDK 17,小公司速度更快
当提及大家还要在 Java 8 版本上坚持多久,才会去应用最新版本 Java 17 ?
近四成开发者表示计划在未来 6 个月内升级到 JDK 17,25% 计划在未来 6-12 月内升级。不过,也有 8% 的受访者称不打算升级到 JDK 17。
其中,根据调研数据显示,来自较小公司(100人以下)的受访者了选择采用 JDK 17 的意愿更为强烈,44% 的人计划在未来 6 个月内升级到 JDK 17。规模较大的公司(超过100人)的受访者需求就没有那么强,有 38% 的受访者计划在未来 12 个月后的某个时间升级。
毋庸置疑,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%。
Java 应用程序架构趋势:微服务是当之无愧的 NO.1
据调查显示,在开发应用程序所采用的架构中,微服务最受欢迎,占比 32%。其次单片机应用程序占 22%。
有趣的是,大型企业(100 名以上员工)对微服务的采用率为 36%,这与小型企业(100名以下员工)的 28% 形成鲜明对比。
近九成开发者正在使用微服务
当问及开发者对微服务的使用状况时,我们发现大多数组织或团队要么拥有完全基于微服务的应用,要么目前正在向微服务架构过渡,这一比例高达 88%。
Java 技术趋势:Docker、Apache Tomcat 最受开发者欢迎
今年,JRebel 也对虚拟机、框架、云平台、构建工具和 IDE 的使用情况做了进一步的调研,发现在一些流行的虚拟机和容器等平台中,Docker 的热度居高不下,占比 41%,远超位居第二的 Kubernetes(26%)。VMWare 排在第三位,占16%。
Java PaaS 供应商
AWS 是最受欢迎的 PaaS 供应商,占比 31%。那些不使用 PaaS 的受访者以 24% 的比例位居第二。Azure 是第三位最受欢迎的,占 14%。
应用服务器
与往年一样,Apache Tomcat 是程序员最喜欢的 Java 应用服务器,占比 48%。其次分别为 JBoss/Wildfly(15%)、Jetty(13%)。
构建工具
在构建工具层面,Maven 使用率最高,占 68%,比去年的使用率增长了一些。
与小型公司相比,大型公司对 Maven 使用率更高,占比 71%,而小型公司只有 65%。
Java IDEs
在 2022 年,IntelliJ IDEA 再次成为开发 Java 应用程序时最受欢迎的 IDE,48% 的受访者选择它作为他们的 IDE。Eclipse 位居第二,占比 24% 。其次分别为 VSCode(18%)和 Netbeans(6%)。
整体而言,后来者 VSCode 在竞争激烈的 Java 集成开发环境中逐渐站稳了脚跟。或许很多时候,不少开发者会将其和 IntelliJ 等主流 IDE 同时使用,但一定程度上,它正在蚕食 Eclipse 的市场份额。
CI/CD 技术趋势
CI/CD、DevOps 方法和工具的实施是企业应用 Java 过程中不可缺少的一部分。根据调查报告显示,和去年一样,Jenkins 是最受欢迎的选择,占比 46%。GitHub Actions 排在第二位,占 16%。
在 CI/CD 构建时间上,较小的组织(100名员工以下)的受访者表示不会花费太久的时间,其中 58% 的受访者表示 CI/CD 构建的时间控制在 5 分钟以下。与之形成对比的是,大型组织(超过 100名员工)的这一比率缩减到 42%,且 40% 使用了超过十分钟的时间。
CI/CD 提交频率
与去年类似,大多数受访者表示,他们每天至少提交五次代码。
以上是你的真实现状吗?欢迎留言,分享你在 Java 应用过程中的想法。
更多报告内容见:https://www.jrebel.com/resources/java-developer-productivity-report-2021
《新程序员001-004》全面上市,对话世界级大师,报道中国IT行业创新创造