写点什么

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

评论 2 条评论

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

消息队列的两种模式

五分钟学大数据

kafka 5月日更

来了!这份阿里P7大佬梳理的Java注解和反射精髓笔记,信息量过大

飞飞JAva

Java

阿里P7:每个码农都应该知道的MySQL主从复制方法,看这篇就够了

牛哄哄的java大师

Java MySQL 数据库

GitHub霸屏文章!清华教授手写保姆级笔记Scala - 类,网友:太香了

牛哄哄的java大师

Java scala

云厂商下一块必争之地就是它了!

Serverless Devs

Serverless 云原生

被解救的代码 - 代码即服务时代来了!

Serverless Devs

阿里云 Serverless 云原生

【智慧农业】从“看天吃饭”到“知天而作”,乡村振兴全靠 TA

IoT云工坊

人工智能 物联网 智慧农业 庭院灌溉 温室大棚

python解释器+pycharm的安装

Geek_6370d5

#python学习之路

拥有一个高性能低延时数据库是什么样的体验?

华为云开发者联盟

数据库 华为云 GaussDB GaussDB(for Cassandra) 低延时

高德 Serverless 平台建设及实践

Serverless Devs

阿里云 Serverless 云原生

凭借师兄甩给我的通关秘籍,顺利拿到字节Offer

学Java关注我

Java 编程 架构 面试

【技术干货】文件系统中的“锁”

焱融科技

容器 分布式 云原生 高性能 文件存储

JavaScript设计模式之单例模式

程序员海军

JavaScript 大前端 设计模式 单例模式

阿里大牛亲码 Spring AOP详解笔记全网开源,学透并发只需3天

飞飞JAva

spring aop

5月20日,GaussDB将有大事发生

华为云开发者联盟

数据库 云原生 华为云 GaussDB TechWave

苹果移动设备用什么管理比较好?有什么推荐?

懒得勤快

imazing 手机管理

一线大厂最新总结Spring Security Oauth2.0认证授权全彩笔记

Java架构追梦

Java 阿里巴巴 架构 面试 spring security

10个 解放双手的 IDEA 插件,这些代码都不用写(第二弹)

程序员小富

Java 后端 IDEA

IM扫码登录技术专题(三):通俗易懂,IM扫码登录功能详细原理一篇就够

JackJiang

即时通讯 IM 扫码

停止维护的CentOS6,怎么使用yum?

运维研习社

Linux 5月日更

消除数据孤岛,华为云DRS让一汽红旗ERP系统数据活起来

华为云开发者联盟

数据库 GaussDB 数据孤岛 华为云DRS ERP

如何下载和保存YouTube上的中英双语字幕和视频

flyfk

字幕

前端项目上传图片,压缩,拍照图片旋转解决方案

Vue js canvas axios

414天前,我以为这是编程玄学...

why技术

Java JVM JMM

Java程序员面试必备——过得了面试官,过不了HR?我教你

比伯

Java 编程 架构 程序人生 计算机

一文带你全面了解java对象的序列化和反序列化

华为云开发者联盟

Java 序列化 java对象 反序列化 Serializable接口

300条数据变更引发的血案-记某十亿级核心mongodb集群部分请求不可用故障踩坑记

杨亚洲(专注MongoDB及高性能中间件)

数据库 mongodb 架构 MySQ 分布式数据库mongodb

GitHub开源的文言文编程语言、程序生成中国山水画、格律诗编辑程序

不脱发的程序猿

GitHub 开源 编程语言 传统文化

干好开发者关系的十个职业发展秘诀

开发者关系

开发者关系 技术运营 DevRel

青海大学智慧微能源数字孪生可视化系统

ThingJS数字孪生引擎

大前端 可视化 3D可视化 数字孪生

Apache Hue介绍

大数据技术指南

hue 5月日更

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