AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

2022 年 Java 将何去何从?

  • 2022-04-08
  • 本文字数:2140 字

    阅读完需:约 7 分钟

2022 年 Java 将何去何从?

自从我们在《2020 年 Java 将何去何从》(Where's Java Going In 2020)中深度探讨 Java 生态系统以来,已经有一段时间了。JRebel 最新发布的《2022 年 Java 发展趋势和分析》报告(Java Development Trends and Analysis 2022)为我们提供了一个契机,可以重新审视 Java 生态系统。那么,根据 JRebel 的报告,这篇《2022 年的 Java 将何去何从》便出炉了。


这份标志着 JRebel 倡议十周年的新报告,从以下角度审视了 Java 生态系统的状况:


  • 微服务的采用和使用趋势

  • CI/CD 构建时间和提交频率

  • 流行的框架、应用服务器、虚拟机和其他工具

  • 开发人员的整体生产力,包括各种挑战和障碍


该报告共收到了 846 份回复,其中一半的受访者是开发人员,占了大多数;其余的则由 Java 架构师、团队领导、总监、顾问和其他人员组成。


最重要的是,有 31% 的样本在超过 1000 名员工的大型企业中工作,因此这份报告很好地说明了 Java 在工业领域的使用情况。


Java 为何总是受到企业的青睐?


企业在过去和现在一直都在谈论 Java。我们可以从《财富》500 强企业中了解到他们对 Java 的依赖程度。是的,蓝筹股喜欢 Java。理由有很多。企业最看重的是向后兼容性,他们对激进的更新和升级是出了名的“过敏”。20 年前用 Java 5 编写的系统,应该能够在第 8 版下编译和运行。对他们来说,稳定性才是最重要的。


说起来,另一个重要的指标是 Java 版本的采用情况,以及 Oracle JDK 是否比 OpenJDK 更受欢迎。8 版之后的发布周期要快得多,现在已经发布到 18 版,你会期望大多数人都会迁移到最近的版本。但事实却不是这样。正如调查所强调的,37% 的接受调查的开发人员仍然使用古老的 8 版(2020 年为 58%),尽管 Java 11 有 29%(2020 年为 22%)取得了进展。这表明人们更喜欢稳定,而不是掌握所有最新花里胡哨的特性。


至于 OpenJDK 与 OracleJDK 方面,与 JRebel 的 2020 年报告相比,情况发生了一些变化,该报告评论道:


看到我们的调查对象中有多少人在为 Oracle JDK 付费,这非常令人惊讶。我完全预计开源选项会有更大的市场份额。


并提出了一个理由:


在我们的调查中,有大量的 Java 8 开发人员代表。我们认为,使用 Java 8 的开发人员的数量表明,该项目已经有很长一段时间没有更新了,这也许是将应用程序保留在 Oracle 发行版中的原因。


并补充道:


Oracle JDK 提供的支持可能比我们想象的更重要。


今年 OracleJDK 份额从 2020 年的 48% 下降到 36%。GraalVM 从 2020 年的 0.25% 上升到今年的 3%



其余的问题是关于性能问题、微服务和 CI/CD。


受访者开发的主要应用程序的架构是基于微服务的(32%),其次是老式的单体应用(22%)。


我认为,这肯定是由于基于 JVM 的框架的卷土重来,使得 Java 在微服务领域中处于领先地位。我指的是 Quarkus,它与 Micronaut 和 Helidon 一起,是过去几年涌现出来的新的开源框架联盟的一部分,开源框架联盟旨在推动 Java 在微服务领域的应用。它们的 AOT 能力,加上 GraalVM 的本机镜像可执行文件,应该真的会有所作为。


尽管 Spring Boot 仍然占据首位,高达 74%,其次是 Quarkus、Vert.x 和 DropWizard,分别为 5%、2% 和 1%,位列前四。然而,魔鬼就在细节中。Quarkus 在 2020 年有 0.5% 的份额,而 Spring Boot 为 82%。鉴于 Spring 是占主导地位的框架,他们不是将其与 Spring Native 结合起来使用吗,Spring Native 可以让你使用 GraalVM 本机映像编译器将 Spring 应用程序编译成本机映像?


报告中提到的一个主要问题是,自最初转换/创建微服务以来,微服务应用中启动服务的时间有所增加。调查发现,总共有 60% 的人都有过这样的体验,而 35% 的人没有受到影响。


另一个令人失望的结果是,在将一个单体分解成不同的可管理部分后,非但没有获得更好的重新部署时间,而且大多数人发现重新部署时间超过 5 分钟;还有人超过 10 分钟。



在 Java 虚拟机平台类别下,Docker 是迄今为止最受欢迎的选择,占总体受访者的 41%。Kubernetes 排在第二位,为 26%,而 VMWare 位居第三,为 16%。Jenkins 被评为最受欢迎 CI/CD 技术,为 46%;而 Github Actions 紧随其后,为 16%。


在其他类别中,亚马逊云科技是最受欢迎的 PaaS 供应商,Tomcat 再一次成为应用服务器的首选,Maven 是最受欢迎的构建工具,占 68%,Gradle 占 23%,紧随其后。Maven 比 2020 年的 44% 有所上升,Gradle 比 2020 年的 47% 有所下降。这表明,虽然 Gradle 被夸大其词,但对于一般的 Java 开发来说,它被证明过于繁琐;最好坚持使用 Android。


总结一下最有趣的发现,企业转向微服务,并不是因为启动和重新部署的时间更快,而是由于其他一些因素,如模块化和灵活性等。另一个值得注意的方面是,Spring Boot 依然是处理 Java 微服务的主导方式,而其他较新的竞争对手必须覆盖很多领域才能达到相同的水平。这让我们开始思考 AOT 和 GraalVM 的使用情况。它是否被高估的低级炒作,或者说,它太新了,至今仍未被视为一种可行的替代方案?


最重要的结论是,尽管技术在不断地改变,但是没有人会迫不及待地去接受。这一点在大型企业中特别有共鸣,因为他们更倾向于稳定,而非创新。当然,在某些时候,他们最终也会踏上这条路,但是要花很多时间和周密的规划。


原文链接:


https://www.i-programmer.info/news/80-java/15317-wheres-java-going-in-2022.html

2022-04-08 14:339358

评论 2 条评论

发布
用户头像
最好坚持使用 Android
这句过于机器翻译了。原文的意思应该是gradle 比较难用,更适合于安卓开发使用
2022-05-20 18:04
回复
用户头像
企业转向微服务,并不是因为启动和重新部署的时间更快,而是由于其他一些因素,如模块化和灵活性等. 这个是真的, 我们的好多java微服务启动起来需要5min ...............
2022-04-11 11:54
回复
没有更多了
发现更多内容

一篇文带你入门SSM框架Spring开发!精彩干货不间断!

Java 程序员 后端

一篇文章让你了解基于Spring的测试,java自学百度网盘

Java 程序员 后端

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 程序员 后端

不是吧阿sir,你这Redis太熟了吧,震惊面试官第六年

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

不会吧不会吧?字节“百万级,nginx视频教程吾爱破解

Java 程序员 后端

不是吧阿sir,你这多线程并发也太熟了吧,震惊面试官第四年

Java 程序员 后端

一文读懂 spring MVC 请求处理流程,Java开发新手入门教程

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里

Java 程序员 后端

一篇送给临近35岁程序员的文章,mysql数据库sql语句面试题

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

不到30岁开上兰博基尼的程序员,为什么这么强,他告诉我只需要把多线程搞好你也行

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

三面阿里云斩获offer:微服务+Redis,积累总结

Java 程序员 后端

一文看透Java高并发:Synchronized锁的性质、原理及其缺陷

Java 程序员 后端

上线半天下载量破100W!阿里内部微服务进阶笔记,超详细

Java 程序员 后端

一文彻底弄懂如何选择抽象类还是接口,linux基础入门知识

Java 程序员 后端

一次完整的JVM NativeMemoryTracking 堆外内存泄露分析

Java 程序员 后端

一款SQL自动检查神器,再也不用担心SQL出错了,自动补全

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发

Java 程序员 后端

一文带你深扒ClassLoader内核,揭开它的神秘面纱

Java 程序员 后端

一文掌握大数据架构师需要具备的能力和格局,别再说你不会JVM性能监控和调优了

Java 程序员 后端

一篇文章丢给你,让你一文了解JVM,2021Java最新大厂面试真题总结

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图(1)

Java 程序员 后端

不是吧,就因为他和面试官多聊了半个小时红黑树,进了腾讯

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

2022 年 Java 将何去何从?_架构_Nikos Vaggalis_InfoQ精选文章