2021.50 Quarkus

技术2021.50 Quarkus 2021.50 Quarkus2018年的一次内部会议上,红帽中间件副总裁Mark Little说,他最担心的是一种新的编程语言(如go)能给用户提供更快的运行速度及

2021.50夸尔库斯

在2018年的一次内部会议上,红帽中间件副总裁Mark Little表示,他最担心的是一种新的编程语言(比如go)能够为用户提供更快的运行速度和更丰富的类库来支持从Java应用的迁移,因为随着云环境的不断完善和进入用户的生产系统,应用的替换和迁移成本会不断降低, 这将使用户更倾向于使用新的更快的编程语言进行开发,这将导致许多基于Java中间件产品的红帽。 后来,有了夸尔库斯。Quarkus是围绕集装箱优先权的概念设计的。基于GraalVM原生映像,当应用程序编译成本地映像时,启动速度更快,占用内存更少。Quarkus的内核是围绕CDI设计的,内核是一个微型的CDI容器,支持Netty、Vert.x等异步编程模型,可以直接用Kotlin开发。Quarkus框架由Extensions扩展而来,包含了红帽中间件的大部分产品,如Hibernate ORM、Artemis、Resteasy、Undertow、Narayana、Infinispan、Camel、KeyCloak等。

夸尔库斯的更新速度非常快。从1.4版本开始,Java 8逐渐被抛弃。这里有详细的理由:为什么放弃Java 8 Quarkusio/Quarkuswiki Githubqarkus的Spring API兼容性包括Spring DI、Spring Web和Spring Data JPA。在JVM上运行时,Quarkus应用程序几乎可以利用任何Java库。只要不使用Java反射,这些Java库就可以编译为原生的。Spring框架本质上是高度动态的。为了解决这个问题,Quarkus的Spring Compatibility Extension将Spring API映射到现有扩展中的API,这些扩展已经针对快速启动、降低内存利用率和本机编译进行了优化,例如RestEasy和CDI。下面是更详细的介绍,微服务框架之争——Spring Boot和夸尔库斯。

许多Java库和框架都是通过在运行时执行一组增强来开发的,但是有一个缺点,即运行时需要扫描类路径并获取元数据。这是一个耗费时间和内存的昂贵操作。Quarkus通过转移昂贵的操作(如字节码增强、动态类加载、代理等)来解决这个问题。)来编译时间,让应用消耗更少的内存和CPU,启动更快,非常适合云原生应用场景。事实上,Spring社区也在练习使用Graal VM来构建原生应用程序。项目网站为https://github.com/Spring-project-experimental/Spring-Graal-native。目前该项目还处于验证阶段,与Quarkus相比还有差距。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153031.html

(0)

相关推荐

  • html如何在文本上显示图片(html怎么在页面上显示图片)

    技术html中如何显示图片本篇内容介绍了“html中如何显示图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年12月23日
  • react实现todolist的状态筛选(react页面有操作就刷新token)

    技术react如何实现todolist的增删改查这期内容当中小编将会给大家带来有关react如何实现todolist的增删改查,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。以todol

    攻略 2021年12月25日
  • GET和POST两种基本请求方法的区别有哪些

    技术GET和POST两种基本请求方法的区别有哪些本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两

    攻略 2021年10月27日
  • 怎么进行IE6、IE7、IE8三大浏览器兼容性对比

    技术怎么进行IE6、IE7、IE8三大浏览器兼容性对比本篇文章给大家分享的是有关怎么进行IE6、IE7、IE8三大浏览器兼容性对比,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟

    攻略 2021年11月25日
  • test6

    技术test6 test6#include stdio.h
    #define N 5int binarySearch(int *x, int n, int item); // 函数声明int main()

    礼包 2021年12月20日
  • 生成JSON元数据对象的示例分析

    技术生成JSON元数据对象的示例分析生成JSON元数据对象的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。数据验证是生成 JSON应用程序中最富

    攻略 2021年11月25日