2022年java前景和未来

自从我们在“2020 年 Java 走向何方”中深入了解 Java 生态系统以来已经有一段时间了。最近的 JRebel“Java 开发趋势与分析 2022”报告让我们有机会重温。那么,根据 JRebel 的说法,“2022 年 Java 将走向何方”?

这份纪念 JRebel 倡议 10 周年的新报告从以下角度审视了 Java 生态系统的状态:

  • 微服务采用和使用趋势
  • CI/CD 构建时间和提交频率
  • 流行的框架、应用服务器、虚拟机和其他工具
  • 总体开发人员生产力,包括挑战和障碍

它总共收到了 846 份回复,其中一半是开发人员,其余的是 Java 架构师、团队负责人、主管、顾问和其他人。

最重要的是,31% 的样本在超过 1000 名员工的大型企业环境中工作,因此该报告很好地表明了 Java 在工业层面的使用情况。

为什么Java一直是企业的最爱?

企业谈论并且仍然谈论Java。看看依赖它的财富 500 强公司名单就知道了。是的,蓝筹股喜欢它。原因很多。企业最看重的是向后兼容性,众所周知,它对激进的更新和升级非常敏感。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 结合使用,后者允许您使用 GraalVM 本机映像编译器将 Spring 应用程序编译为本机映像?

报告中指出的一个主要问题是,自最初的微服务转换/创建以来,在微服务应用程序中启动服务所需的时间增加了。调查发现,总共有 60% 的人经历了增长,而 35% 的人没有受到影响。

另一个令人失望的结果是,大多数人发现重新部署时间超过了 5 分钟,而不是有更好的重新部署时间;其他超过 10 分钟。

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

在其他类别中,AWS 是最受欢迎的 PaaS 提供商,Tomcat 再次成为首选的应用程序服务器,Maven 是最受欢迎的构建工具,占 68%,其次是 Gradle,占 23%。Maven 从 2020 年的 44% 上升,Gradle 从 47% 下降。这表明虽然 Gradle 被大肆宣传,但事实证明它对于一般的 Java 开发来说太麻烦了;最好坚持安卓。

总结最有趣的发现,公司转向微服务不是因为更快的启动和重新部署时间,而是因为模块化和灵活性等其他原因。另一个值得注意的方面是 Spring Boot 仍然是接近 Java 微服务的主要方式,而其他较新的对应物必须覆盖很多领域才能达到相同的水平。这让我们开始思考 AOT 和 GraalVM 的使用。它是像被高估的炒作一样低,还是太新而不能被视为可行的替代方案?

总的结论是,虽然技术发生了变化,但人们并不急于采用它。这尤其引起了大型企业的共鸣,因为他们更喜欢稳定性而不是发明。当然,在某个时候,他们最终会赶上潮流,但这需要大量时间和周到的计划。

2022年java前景和未来

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注