写点什么

2021 年 Java 热门趋势

  • 2022-01-29
  • 本文字数:2014 字

    阅读完需:约 7 分钟

2021年 Java 热门趋势

本文结合 Java 语言和生态的发展现状,分析了在云原生和无服务器架构的大趋势下,Java 和相关的支撑框架会有怎样的发展。


本文最初发表于Medium网站,由 InfoQ 中文站翻译分享。


2020 年的事实告诉我们,如今对未来进行预测是很天真的。但是,当涉及到中长期投资决策的时候,预测是一件非常重要的事情。对于开发人员来讲,规划自己的职业生涯并有效地投资时间也是至关重要的。因此,我们了解一下最重要的 Java 趋势,这将有助于我们保持正确的方向。


在 Web、桌面和移动开发以及嵌入式软件领域,Java 依然是最流行的语言之一。在 2017 年 Kotlin 进入安卓开发领域之前,Java 是唯一的官方语言。要在谷歌应用商店中找出使用 Java 的应用的份额并不那么容易。因为像 React Native、Cordova、Phonegap、Iconic 这样的混合应用程序在底层会使用 Java,但是其业务逻辑是使用 JS 的。


另外,我们也很难找到有力的参考数据,但是全球11个流量最大的网站中,其中有8个是使用Java的,至少后端编程是使用 Java 的。这一事实让我们清楚地看到了它的实力和受欢迎程度。此外,对企业来讲,Tomcat 和 Elasticsearch 分别是最受欢迎的 web 服务器和搜索引擎,它们也在使用 Java。与此同时,尽管是最受欢迎的可选方案之一,并且经过了时间的考验,但 Java 也在适应云部署和容器化等大趋势。我们逐步深入地研究一下。

一切都在上云,Java 也不例外


云计算的趋势在新冠肺炎大流行之前早就已经出现了,但是这一切正在加速发展。平均来看,每个人每天使用36个基于云的服务81%的企业都在研究他们的多云战略。按照 Gartner 的说法,公共云服务的支出将从2020年的2700亿美元增长到2021年的3323亿美元,增幅超过 23%。


Java 领域对此已经做出了什么样的反应,接下来又会怎么样发展呢?你可能已经注意到,由于容器化工作负载的兴起,AWS 和其他一些云服务的采用率正在不断增加。因此,云原生和支持 Kubernetes 的框架,如 Micronaut、Quarks 和 Spring Boot 正在变得更加流行。

Spring Boot


Spring Boot是这个领域的领导者,它消除了搭建 Spring 应用程序所需的模板化配置。它的一些特性使得应用的构建和配置变得更加简单,比如嵌入式的服务器以及带有倾向性的“starter”依赖。健康检查、度量指标以及外部配置都是使用它所能带来的额外收益。

Micronaut


据报道,Micronaut是第一个在无服务器架构中高效运行的 Java 平台。虽然在受欢迎程度上它还无法与 Spring Boot 竞争,但是它在 GitHub 上已经拥有大约 5000 颗星。尽管 Micronaut 有一些类似于 Spring 的特性,但它最大的特点是编译时的依赖注入机制。这个框架会在编译时建立其依赖注入数据,这与大多数框架是不同的。因此,我们可以实现更小的内存占用和更快的应用程序启动。


除此之外,Micronaut 还对客户端和服务器的反应式编程提供了良好的支持。RxJava 和 Reactor 项目都能得到支持。它还支持多种服务发现工具,如 Eureka 和 Consul,以及不同的分布式跟踪系统,如 Zipkin 和 Jaeger。

Quarkus


Quarkus 由红帽公司于 2019 年发布,在 GitHub 上拥有超过 9000 颗星。InfoQ 的 Java 编辑 Erik Costlow 指出,Quarkus正在使用云、Jakarta EE 和 GraalVM 中最好的组成部分。它可以自动创建容器,并具有快速重新加载的功能。除此之外,借助其插件生态系统,Quarkus 可以连接到其他系统中。如果需要的话,你还可以查阅每个插件的详细文档。它支持 Kubernetes、Hibernate、OpenShift、Kafka 和 Vert.x。


借助 Quarkus,开发者可以专注于代码,而不是技术工作以及与资源进行交互。此外,它是建立在标准之上的,所以你不需要学习任何新东西。

GraalVM


GraalVM和静态编译是走向云端的关键构件。GraalVM 拥有提前编译(AOT)等功能,使用了最流行语言的功能和库,并提供了调试、监控、剖析和资源消耗优化等工具。Spring、Quarkus、Micronaut 和 Helidon 框架都能与 GraalVM 集成。


Java 发布相关的更新


Java 8 和 11 仍然是目前最流行的版本。根据JetBrains 2020的调查,75%的受访者选择了 Java 8,Java 11 版本则排在第二位。


JDK 16 在 2021 年 3 月发布。它拥有 17 项增强功能,如 JVM 改进、新工具、库分类、孵化器和预览功能,以提高我们的生产力。SE 15 包括以下改进。


使用 Record 来声明类,它会自动生成 toString、hashCode、getter 和 equals 方法以及构造器。


隐藏类(Hidden class),通常是在运行时动态生成的,不能通过名称来访问,也不能将其与其他类的字节码进行链接。


另外,JDK 17 也已经在 2021 年的 9 月份发布,目前是最新的长期维护版本。


由于甲骨文公司在发布后六个月以上不提供零成本的 Java 二进制文件,市场上选择了非甲骨文公司的供应商,如 AdoptOpenJDK、Azul 和 Amazon。

总结


Java 紧跟云计算和无服务器架构等大趋势,所以云原生支撑框架的发展势头很好。Micronaut、Quarks 和 Spring Boot 都位列其中,它们能够让开发者专注于代码而不是基础设施。Java 8 LTS 仍然是最受欢迎的,但 JDK 17 也已经于 2021 年 9 月发布。至少,到目前为止,还没有任何趋势可以击败 Java 8。


原文链接:


https://medium.com/sciforce/top-java-trends-in-2021-ac7aa25e5362

2022-01-29 15:096851

评论 2 条评论

发布
用户头像
现在java8还是最流行的jdk版本嘛?
2022-02-15 10:50
回复
看JetBrains的2021年调查报告,是这样的,参见:https://www.jetbrains.com/lp/devecosystem-2021/java/
2022-02-16 10:08
回复
没有更多了
发现更多内容

云栖实录 | GenAI 时代 AI Infra 工程技术趋势与平台演进

阿里云大数据AI技术

人工智能 阿里云 云栖大会 PAI AI Infra

Minitab Express Mac数据分析统计软件 v1.5.0激活版

Rose

Alfred 5 for Mac(高效功能工具)

Mac相关知识分享

系统安全不求人:开发者必学的漏洞防御秘籍

巧手打字通

后端 系统安全 安全漏洞 SQL注入 xss攻击

获取淘宝商品详情API返回值的技术实现方案

技术冰糖葫芦

API Gateway API Explorer API 接口 API 测试 pinduoduo API

苹果电脑批量重命名工具:A Better Finder Rename 12

Rose

Axure RP10汉化版激活秘钥 交互式原型设计

Rose

“AI+Security”系列第3期(六):打造最懂安全的智能体-无极AI安全智能体平台落地与实践

云起无垠

TiDB 助力东南亚领先电商 Shopee 业务升级

TiDB 社区干货传送门

SimpleMind Pro:一键理清思绪,高效思维导图工具

Rose

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

【YashanDB知识库】windows配置ODBC跟踪日志, 使用日志定位问题

YashanDB

yashandb 崖山数据库 yashandb知识库

AI应用元年,豆包大模型为消费电子、游戏行业注入智能化创新动能

新消费日报

Service worker 入门手册

yuanyxh

JavaScript chrome Service Worker #前端

给Java同仁单点的AI"开胃菜"--搭建一个自己的本地问答系统

京东零售技术

Java LLM

【YashanDB知识库】如何dump数据文件,转换rowid, 查询对应内容

YashanDB

yashandb 崖山数据库 yashandb知识库

AI加速前行,英特尔PT Expo演绎网络智能化新发展

E科讯

sublime text :轻量级的文本编辑器

Rose

功能丰富文档编辑设计工具Author for Mac

Mac相关知识分享

微信多开防撤回工具WechatTweak for Mac

Mac相关知识分享

AI赋能制造未来,英特尔工博会展示创新成果

E科讯

犀牛Rhinoceros 7:渲染功能大升级,打造逼真视觉体验!

Rose

RAW 格式图像处理软件Capture One 23 Pro for mac

Mac相关知识分享

Volcano v1.10.0 版本正式发布!10大功能全面提升统一调度和细粒度资源管理能力

华为云原生团队

云计算 容器 云原生

【YashanDB知识库】由于hist_head$中analyze time小于tab$中analyze time导致的sql语句执行慢

YashanDB

yashandb 崖山数据库 yashandb知识库

OpenHarmony外设生态春笋行动 在2024开放原子开源生态大会上开启

最新动态

mac专用图片管理工具 PowerPhotos

Rose

Royal TSX v6.0.2激活版 Mac强大的远程管理

Rose

WiFi Explorer for mac:扫描查找无线网络并进行故障排除

Rose

Illustrator 2021 for mac(ai 2021中文版)

Mac相关知识分享

小说

软件测试学习笔记丨Mock的价值与实战

测试人

软件测试 测试开发

2021年 Java 热门趋势_架构_Sciforce_InfoQ精选文章