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)

相关推荐

  • springboot如何传参校验@Valid及对其的异常捕获方式

    技术springboot如何传参校验@Valid及对其的异常捕获方式这篇文章将为大家详细讲解有关springboot如何传参校验@Valid及对其的异常捕获方式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读

    攻略 2021年10月20日
  • python3–文件读写

    技术python3–文件读写 python3–文件读写读写模式
    是否可读
    是否可写
    文件不存在时r


    报错r+

    是,覆盖写入
    报错w

    是,清空原内容
    创建新文件w+

    是,清空原内容

    礼包 2021年11月24日
  • 螓怎么读,在问大侠荣威5501.8启螓版

    技术螓怎么读,在问大侠荣威5501.8启螓版你的是1螓怎么读。8T的吗带T的保养要贵一些,机油有讲究的,一定要按时换机油。另外最好热车和冷车。5年左右可能要换了,好几万噢,另外带T的发动机转速上去涡轮介入后发动机噪音会大

    生活 2021年10月24日
  • 铝怎么拼音,氮化铝是什么,有什么用途啊

    技术铝怎么拼音,氮化铝是什么,有什么用途啊中文名称:氮化铝拼音:danhualv英文名称:alumin(i)um nitride分子式:AlN分子量:40.99密度:3.235g/cm3说明:AlN属类金刚石氮化物,最高

    生活 2021年10月29日
  • mybatis中返回值应该配置什么(mybatis中select方法怎么写)

    技术Mybatis Select Count(*)的返回值类型是什么本篇内容介绍了“Mybatis Select Count(*)的返回值类型是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就

    攻略 2021年12月21日
  • throw和throws有什么不同

    技术throw和throws有什么不同 throw和throws有什么不同共同点:
    两者在抛出异常时,他们只管把异常抛出,并不处理异常,由调用者负责处理。区别(1)throw语句总是出现在方法体里面,用

    礼包 2021年11月5日