ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

quarkus为什么比spring boot 启动快

2021-01-16 18:29:03  阅读:283  来源: 互联网

标签:启动 spring image boot 应用程序 Quarkus quarkus native


image.png

quarkus官网:https://quarkus.io
生成quarkus项目的地址:https://code.quarkus.io

概述

最近看到一些文章在介绍quarkus,说是云原生的微服务开发框架,由于本人对新技术比较感兴趣,所以查阅了文档,在这里做一个记录简单介绍一下quarkus。

quarkus是什么

Quarkus是为GraalVM和HotSpot量身定制的Kubernetes Native Java框架,由最佳的Java库和标准精心打造而成。Quarkus的目标是使Java成为Kubernetes和无服务器环境中的领先平台,同时为开发人员提供统一的反应式和命令式编程模型,以满足更广泛的分布式应用程序架构。

quarkus为什么比spring boot 启动快

容器优先

从一开始,Quarkus就围绕容器优先理念进行设计。这实际上意味着Quarkus通过以下方式针对低内存使用量和快速启动时间进行了优化:

  • 对Graal / SubstrateVM的一流支持
    从一开始,Substrate支持就一直是Quarkus设计的重要组成部分。当将应用程序编译为native image时,它的启动速度更快,并且可以以比标准JVM小得多的堆运行。Quarkus都在Substrate中进行了测试,并且可以在没有 -H:+ReportUnsupportedElementsAtRuntime标志的情况下运行。

  • 构建时元数据处理
    在构建时将进行尽可能多的处理,因此您的应用程序将仅包含运行时实际需要的类。在传统模型中,执行初始应用程序部署所需的所有类都在应用程序的生命周期内徘徊,即使它们仅使用一次。使用Quarkus,它们甚至都不会加载到生产JVM中。由于所有元数据处理已完成,因此这将减少内存使用量,并缩短启动时间。

  • 减少反射使用
    Quarkus尽可能避免反射,减少启动时间和内存使用量。

  • native image预启动
    当在native image中运行时,Quarkus在native image构建过程中预引导尽可能多的框架。这意味着生成的native image已经运行了大多数启动代码,并将结果序列化为可执行文件,从而使启动速度更快。

参考文档
https://quarkus.io/vision/container-first

标签:启动,spring,image,boot,应用程序,Quarkus,quarkus,native
来源: https://blog.csdn.net/qq_39218530/article/details/112720156

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有