首页 > 技术文章 > JRebel:2022年Java发展趋势和分析报告
2022
08-18

JRebel:2022年Java发展趋势和分析报告

千淘万漉博客阿里云大使推广链接

JRebel 是通过调研问卷的方式总结的报告,涉及了不同国家、不同岗位、不同公司规模、不同行业,相对来说,该调查报告是有一定参考意义的。

一、Java 语言及开发趋势

1.Java8 的占比还是比较高

从报告中可以看出,Java8 占比 37%,Java11 占比 29%,甚至有 12% 的被调查者使用了高于 Java12 的版本。

Java8 是 2014 年发布,相较于之前版本,增加了 Lambda 表达式、Stream 流式处理等一种优秀的 API。至今已 8 年时间,Java 版本也是从 8 一直升到了 17。版本号一直在增加,却没有增加特别吸引人的语言特性。

2. 哪些因素是升级的动力?

主要的升级因素包括 LTS 版本(25%)、安全性(23%)、性能(20%),而新特性(18%)和随大流(14%)的占比低一些。

从这点我们也就知道为什么 Java11 之后的版本占比并不高了,随着 Java17 的发布,可能 Java8 和 Java11 的占比会降低。安全性方面,除非是严重的漏洞,一般 Java 开发团队会通过补丁的方式升级,不会影响大版本号占比。

性能方面,Java 团队一直在不断优化,随着 G1、ZGC、Shenandoah 等一众优秀的 GC 被添加进来,这也成为大家从 Java8 升级的重要原因。

就功能特性而言,Java11 之后增加了 Record 类型、密封类、instanceof 模式匹配、Swtich 表达式和模式匹配等一些语法。这些新特性,也能够提升升级到 Java17 的意愿。

3. 升级 Java17 的意愿还是比较强的

Java17 是 2021 年下半年发布的 LTS 版本(长期支持版)。

从报告中可以看出来,有 37% 的人会在未来 6 个月内升级,有 25% 的人会在 6-12 个月内升级,不会升级的占比仅占 8%。

可见,有 62% 的人会在未来一年内升级到 Java17,大家的升级意愿还是比较强的。

4.Java 应用架构趋势

各种架构风格中,微服务架构仅占 32%,单体架构占比 22%,模块化单体架构占比 13%,SOA 架构占比 12%。

从结果来看,这个问卷的对架构风格的定义和分类比较细腻。

这里不对架构风格做出评价,架构只有合适与否,没有优劣之分。

二、Java 技术趋势

1.Java 应用超过半数使用了容器部署

从问卷结果可以看到,Docker 使用率是 41%,Kubernetes 使用率是 26%,VMware 使用率是 16%,Vagrant 使用率是 3%,即有 86% 已经实现了虚拟化,其中 Docker、Kubernetes 占比最高。

所以在 Java 升级版本特性中,实现了容器感知的能力,使 Java 服务容器化更容易一些。

2. 近半数服务端使用 Tomcat 容器

SpringBoot 是众多微服务框架中的首选,SpringBoot 默认的应用容器是 Tomcat。加之 Tomcat 的开源方式,将近半数应用服务器选择 Tomcat 也是预料之中。

3.Maven 是主要的构建工具

Maven 和 Gradle 到底该用哪个?这个问题似乎争论许久。从问卷结果看,Maven 占有率是 68%,Gradle 占有率是 23%,Maven 还是有绝对的优势。

Gradle 采用了约定大于配置的方式,与 SpringBoot 的理念一致。但是从市场接受度和发展而言,并没有形成替换 Maven 的风潮。Android 项目默认使用 Gradle,能够看出 Google 对 Gradle 的推崇,也从侧面印证 Gradle 的优秀。但是,Gradle 并没有绝对优势。

三、开发者生产力趋势

1. 重新部署应用的时间

很多时候,我们可能只改动一行代码,然后验证功能是不是正常,这个时候需要重新部署应用。JRebel 统计了重新部署需要花费的时间。

从结果上看,重新部署需要超过 3 分钟时间的占 50%,其中 21% 的比率需要 10 分钟以上。

2. 如果节省重新部署的时间你会做什么?

有 28% 会增加新功能;有 20% 会优化系统性能;有 19% 会完善测试覆盖。这些都是正向的,大概率的是那些回答其他的:喝咖啡、喝啤酒、开趴、睡觉、钓鱼……

技术不断发展,我们需要学习的东西越来越多,很多时候感觉学不动了。但既然选择了这个行业,拿着高于其他行业的薪资,也承担着各种风险,总归是要有一些技能傍身,才不至于被历史的车轮碾成粉末。基于 Java 语言进化而来的 “捷码” 低代码平台,是国内目前最新锐且优秀的全技术栈低码 PAAS 开发工具之一,对无心坐下来深度、系统、长期研习 Java 开发技能的 IT 同行,捷码提供了一个专业的、低码化、迅捷开发的路径,在线化的开发环境,更能支持多人协同的开发模式和跨平台开发模式,可以帮助开发者们和软件公司获得卓越的软件开发、交付能力。


本文》有 0 条评论

留下一个回复