前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Quarkus是Java的未来吗?

Quarkus是Java的未来吗?

作者头像
IT大咖说
发布2020-05-19 17:54:24
3.5K0
发布2020-05-19 17:54:24
举报
文章被收录于专栏:IT大咖说IT大咖说

> From quarqus.io

专为OpenJDK HotSpot和GraalVM量身定制的Kubernetes本机Java堆栈,采用最佳Java库和标准精制而成。

介绍

Quarkus是Java世界的最新成员。由Redhat发起的这种开源框架已经讨论了一段时间。它缩短了启动时间,降低了执行成本,提高了生产率。这就是为什么有人已经将Quarkus视为Java的未来。

它旨在允许开发所谓的云原生Java应用程序或" Kubernetes本机"以使用其术语。然后,主要目标是减少应用程序的启动时间及其内存占用量。

除了这些性能目标之外,该框架还强烈希望通过为开发人员提供统一的配置并返回实时重新加载来简化他们的生活。

livereload

Quarkus恢复了一个随Spring Boot到来而消失的功能:livereload。

当我们使用Java开发时,有必要启动编译并重新启动应用程序,以便将所做的更改考虑在内。livereload消除了重新启动的需要,因此间接减少了反馈环路。

但是,这不适用于Spring Boot之类的框架,该框架在使用反射启动程序时会构建应用程序上下文。代码更改可能会导致上下文更改,因此需要重新启动。这样重启会产生间接成本,我们可以天真地相信会对生产力产生负面影响。

本机编译

通过使用GraalVM提供的本机编译(从Quarkus.io上的可用数据计算得出的百分比),Quarkus将引导时间减少了约99%,将传统Java应用程序的内存占用减少了约86%。为了实现这些改进,Quarkus利用GraalVM和容器来构建本机Java可执行文件。然后优化可执行文件以在定义的环境中运行。

GraalVM(尤其是Substrate VM)现在为Java语言的美好而长远的未来打开了大门。GraalVM是一种通用虚拟机,用于运行以JavaScript,Python,Ruby,R,基于JVM的语言(如Java,Scala或Kotlin)编写的应用程序。好处是GraalVM允许您提前将程序编译为本地可执行文件。这意味着您可以将Java代码直接编译为特定于机器的代码。生成的程序不能在Java HotSpot VM上运行,而是使用必要的组件,例如内存管理,来自另一种虚拟机实现的线程调度(称为Substrate VM)。基板VM用Java编写,然后编译为本机可执行文件。

> From Quarqus.io

由于具有本机可执行文件,因此即使不安装JDK也可以在任何计算机上运行JAVA应用程序。这特别重要,尤其是当我们使用微服务时。

假设我们有一个应用程序,该应用程序基于JAVA分为6个微服务。然后,我们需要在每个工具中安装JDK来运行Java应用程序。JDK大约需要250MB的磁盘空间,因此,如果将其乘以6,仅对于微服务JDK而言,它就可获得1500 MB,这是很多的。

因此,由于有了Quarkus和GraalVM,我们可以构建JAVA应用程序并将其部署到容器中,而无需安装JDK。结果,我们节省了大量的存储空间和启动时间。

> From Quarqus.io

结论

Quarkus是针对Java虚拟机(JVM)和本机编译的全栈Kubernetes本地Java框架,专门针对容器优化Java,并使之成为无服务器云(Faas)和Kubernetes环境的有效平台。

该框架实现了更高的工作负载密度,从而降低了硬件,云计算和内存的总资源成本。

它使Java与本地编译的其他编程语言具有可比性。并凭借其快速的启动时间,livereload和许多其他功能为我们提供了丰富的开发经验。

(本文翻译自Sofiene Ben Khemis的文章《Is Quarkus the future of Java?》,参考:https://medium.com/swlh/is-quarkus-the-future-of-java-b664c5e79381)

来源:

https://www.toutiao.com/i6825471907551248909/

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

IT大咖说 | 关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • livereload
  • 本机编译
  • 结论
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档