共计 1956 个字符,预计需要花费 5 分钟才能阅读完成。
最近看到 JRebel 公布了《2022 年 Java 发展趋势和剖析》,于是借此剖析一下 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 同行,捷码提供了一个业余的、低码化、迅捷开发的门路,在线化的开发环境,更能反对多人协同的开发模式和跨平台开发模式,能够帮忙开发者们和软件公司取得卓越的软件开发、交付能力。
增加捷码微信 ytgemcoder,即可进入实操体验一下哦!