速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论 2 条评论

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

如果把四个消息队列都拉到一个群里,他们会聊些什么?

悟空聊架构

故事 消息队列 群聊 6月日更 悟空聊架构

网络攻防学习笔记 Day47

穿过生命散发芬芳

网络攻防 6月日更

如何有效地管理项目变更?

万事ONES

项目管理 研发管理 ONES

架构之:数据流架构

程序那些事

架构 系统架构 软件架构 程序那些事

项目管理100问 | 一个完整的缺陷管理流程是什么样的?

万事ONES

项目管理 研发管理 bug ONES

JavaScript 学习(四)

空城机

JavaScript 大前端 6月日更

react源码解析15.scheduler&Lane

全栈潇晨

React

中年程序员转行第1年的感悟|2021 年中总结

王磊

Java 编程 编程之路 编程故事

EasyRecovery Pro绿色破解版,免序列号激活

淋雨

数据恢复 EasyRecovery 文件恢复 Easyrecovery破解 恢复软件

【架构师训练营】电商业务微服务拆分设计

eoeoeo

C++友元的概念和使用的一些介绍

良知犹存

c++

为什么 StringBuilder 不是线程安全的?

xcbeyond

StringBuilder StringBuffer 6月日更

再添新誉!浪潮云斩获年度领先品牌等多项殊荣

云计算

【Vue2.x 源码学习】第十七篇 - 生成 render 函数 - 函数生成

Brave

源码 vue2 6月日更

HarmonyOS学习路之开发篇——Service Ability

爱吃土豆丝的打工人

Server HarmonyOS 路由 Ability Server

有了这个组合拳,不再写bug

看山

DevOps 6月日更

BoCloud博云获评2021云计算PaaS创新领导者

BoCloud博云

容器

2021中国边缘计算企业20强榜单出炉,EMQ强势入围!

EMQ映云科技

开源 边缘计算 计算 emq

测试开发之网络篇-常用服务协议

禅道项目管理

IP HTTP 协议

Flink State 和 Fault Tolerance(一)

Alex🐒

flink 翻译 flink1.13

Java Selector模型

邱学喆

buffer selector SelectableChannel SelectionKey

Fuchsia OS vs Harmony OS 谁是下一个领跑

三掌柜

试用期 签约计划

恭喜埃文科技入选“2021年中国网安产业潜力之星”!

郑州埃文科技

WorkPlus即时通讯-通讯录功能大全

WorkPlus

即时通讯 IM 移动开发 开源安全

GraphQL 初探

wangwei1237

RESTful API graphql

“懂行”共识拓宽数字通道:川蜀大地与智能时代的“热辣”共振

脑极体

致翻译界最可爱的许老

Qien Z.

翻译 6月日更

模块六作业

Chris Cheng

架构训练营

Kubernetes手记(14)- 用户权限系统

雪雷

k8s 6月日更

鸿蒙 和 Fuchsia OS,你更期待谁?

Bob

华为 Google 作业一 Fuchsia 鸿蒙系统

【Flutter 专题】101 何为 Flutter Elements ?

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

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