写点什么

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:338985

评论 2 条评论

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

架构师训练营第 1 期-第一周学习总结

Todd-Lee

极客大学架构师训练营

食堂就餐卡系统设计

fmouse

系统用例图,组件图,组件时序图,部署图

Croesus

第一周学习总节

兵长

第一周作业二:学习总结

登顶计划

架构师训练营 Week1 - 食堂就餐卡系统设计

极客大学架构师训练营

架构师训练营-作业-第一周

Max2012

极客大学架构师训练营

架构师培训第一节课学习总结

happy

就餐卡系统设计-UML图

scorpion

你附近的人都有谁,这个功能是怎么实现的?

老胡爱分享

redis geo

店长:是新零售系统落地的核心环节

boshi

数字化 标准化 新零售

极客时间架构师训练营第一周学习总结

Jacky.Chen

第一周-学习总结

Yangjing

极客大学架构师训练营

架构师第一期作业(第一周)

Cheer

课程练习

第一周学习总结

崔方剑

极客大学架构师训练营

架构师训练营第 1 期 命题作业

张建亮

食堂就餐卡系统设计

蓝黑

极客大学架构师训练营

架構師訓練營第 1 期 - 第 01 周作業

Panda

架构师训练营第 1 期 第一周总结

张建亮

架构师第一期作业

happy

架构一期第一周作业

Airs

课程作业

食堂就餐卡系统设计

Yangjing

极客大学架构师训练营

80%的程序员忽略的那些事-架构师是干什么的

郎哲158

学习 程序员 工程师 架构师 极客大学架构师训练营

第一周命题作业

崔方剑

极客大学架构师训练营

80% 的程序员忽略的那些事 - 架构师常干的那些事

郎哲158

学习 极客大学架构师训练营

第一周总结

fmouse

极客大学架构师训练营

目标:创业团队组织搭建的内在逻辑

boshi

创业 团队组织

第一周学习总结

Croesus

食堂就餐卡系统UML图

Jacky.Chen

食堂就餐卡系统设计

orchid9

架构师学习课程第一周学习总结

orchid9

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