新闻详情

新闻详情

首页 / 资讯中心 / 详情

Quarkus:简介、原理、实战

发布时间:2026/9/30 14:18:52来源:尧图网络
Quarkus:简介、原理、实战
概述官网中文官网几乎纯Java实现、开源GitHub15.9K Star3.3K Fork超音速、亚原子级框架。支持与GraalVM集成通过AOT提前编译方式将Java应用编译为原生可执行文件从而大幅提升性能。基于Java标准构建可继续使用CDI、JAX-RS等标准API无需学习新语法。提供丰富扩展支持Hibernate ORMApache KafkaOpenShift、Kubernetes集成Vert.x异步编程模型优势开发者友好一个内聚平台通过统一配置和轻松的原生可执行文件生成来优化开发者的体验。零配置瞬间完成实时重新加载为80%的常用用法简化代码其余20%具有灵活性性能在构建阶段简化框架优化以减少运行时依赖性并提高效率。通过预先计算元数据和优化类加载可确保JVM和原生二进制部署的快速启动时间从而减少内存使用量Kube-Native和Kubernetes的结合为创建可扩展、快速和轻量级的应用程序提供理想的环境。通过工具、预构建的集成、应用程序服务等显着提高了开发人员的生产力社区和标准提供内聚的易于使用的全栈框架超过五十个主流库且列表不断增长反应式核心建立在强大的反应式核心之上确保快速高效的性能支持各种现代应用程序的开发容器优先为GraalVM和HotSpot定制应用程序。编译时启动快速启动低RSS内存不仅仅是堆大小可在Kubernetes等容器编排平台中提供近乎瞬时的扩展和高密度内存利用率实战使用Maven插件创建Quarkus项目mvn io.quarkus:quarkus-maven-plugin:3.39.4:create \ -DprojectGroupIdcom.johnny.quarkus \ -DprojectArtifactIdquarkus-demo \ -DclassNamecom.johnny.quarkus.Hello \ -Dpath/hello首次执行会下载Maven依赖执行成功会生成一个包含基础结构的Maven项目包含Hello类定义/hello接口默认配置文件Dockerfile文件生成的项目自动生成的Dockerfile.native内容如下FROM registry.access.redhat.com/ubi9/ubi-minimal:9.7 WORKDIR /work/ RUNchown1001/work\chmodgrwX/work\chown1001:root /work COPY--chown1001:root--chmod0755 target/*-runner /work/application EXPOSE8080USER1001ENTRYPOINT[./application,-Dquarkus.http.host0.0.0.0]的Dockerfile.native-micro内容如下FROM quay.io/quarkus/ubi9-quarkus-micro-image:2.0 WORKDIR /work/ RUNchown1001/work\chmodgrwX/work\chown1001:root /work COPY--chown1001:root--chmod0755 target/*-runner /work/application EXPOSE8080USER1001ENTRYPOINT[./application,-Dquarkus.http.host0.0.0.0]和上面的Dockerfile.native文件的区别仅仅是FROM指定的基础镜像。Dockerfile.jvm内容如下FROM registry.access.redhat.com/ubi9/openjdk-17-runtime:1.24 ENVLANGUAGEen_US:en# We make four distinct layers so if there are application changes the library layers can be re-usedCOPY--chown185target/quarkus-app/lib/ /deployments/lib/ COPY--chown185target/quarkus-app/*.jar /deployments/ COPY--chown185target/quarkus-app/app/ /deployments/app/ COPY--chown185target/quarkus-app/quarkus/ /deployments/quarkus/ EXPOSE8080USER185ENVJAVA_OPTS_APPEND-Dquarkus.http.host0.0.0.0 -Djava.util.logging.managerorg.jboss.logmanager.LogManagerENVJAVA_APP_JAR/deployments/quarkus-run.jarENTRYPOINT[/opt/jboss/container/java/run/run-java.sh]Dockerfile.legacy-jar内容如下FROM registry.access.redhat.com/ubi9/openjdk-17-runtime:1.24 ENVLANGUAGEen_US:enCOPY target/lib/* /deployments/lib/ COPY target/*-runner.jar /deployments/quarkus-run.jar EXPOSE8080USER185ENVJAVA_OPTS_APPEND-Dquarkus.http.host0.0.0.0 -Djava.util.logging.managerorg.jboss.logmanager.LogManagerENVJAVA_APP_JAR/deployments/quarkus-run.jarENTRYPOINT[/opt/jboss/container/java/run/run-java.sh]和上面的Dockerfile.jvm文件的区别在于COPY指定的复制文件。开发模式支持热重载Hot Reload功能修改Java类或配置文件后刷新页面即可生效。执行命令启动开发模式./mvnw compile quarkus:dev执行命令mvn package如果遇到报错Unknown packaging: quarkus则修改pom.xml文件packagingquarkus/packaging改成packagingjar/packaging将在target/目录下生成quarkus-demo-1.0.0-SNAPSHOT.jar文件。执行./mvnw package命令相比于mvn package将在target/目录下额外生成quarkus-project-1.0-SNAPSHOT-runner.jar可执行JAR运行./mvnw package -Pnative因需进行AOT编译构建过程会稍长。验证构建结果./mvnw verify -Pnative。使用Docker构建容器镜像./mvnw package -Pnative -Dnative-image.docker-buildtrue原生镜像Quarkus可将应用编译为原生可执行文件显著提升启动速度和首次请求响应时间。包含运行所需的一切包括最小化的JVM。要构建原生镜像(Native Image)需安装GraalVM并配置GRAALVM_HOME环境变量。https://graalvm.java.net.cn/downloads/#下载zip压缩包解压缩看起来像是一个JDK发行版实际上就是如此配置为JAVA_HOME即可使用。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

那些 CMS 的 AI 功能,到底有几个真能用 2026/9/30 15:00:49

那些 CMS 的 AI 功能,到底有几个真能用

这两年 CMS 圈子里,不提 AI 好像都跟不上趟了。可真装过几家就知道差别有多大:有的官方把能力做进系统,装完就能用;有的靠社区插件凑数,得自己挑;还有的干脆是宣传页写着 AI,实际得自己接 API。…

阅读更多 →
AI应用开发不止是调接口:从接口到工程体系的实战指南 2026/9/30 15:00:49

AI应用开发不止是调接口:从接口到工程体系的实战指南

"AI 应用开发,不就是调个接口么?"这句话我听过太多次,说这话的人往往还没正经做过一个 AI 应用。前两年大模型刚火起来的时候,随便一个 HTTP 请求,把 prompt 塞进去,拿回一段文本,确实…

阅读更多 →
2025年Windows驱动开发:WDF框架KMDF与UMDF选型及实战指南 2026/9/30 15:00:22

2025年Windows驱动开发:WDF框架KMDF与UMDF选型及实战指南

简介:这份资源是《Developing Drivers with the Windows Driver Foundation》的PDF电子书,面向希望系统掌握Windows驱动开发的程序员与系统工程师,尤其适合具备一定C语言与操作系统基础、想深入内核态或用户态驱动编写的中高级开发者。全书由…

阅读更多 →
2026年9月长宁区临期产品销毁:5种方法优缺点推荐 2026/9/30 14:59:49

2026年9月长宁区临期产品销毁:5种方法优缺点推荐

临期产品销毁后真的只能"拉黑"? 很多人, 都以为, 长宁区超市货架上, 那些到了佳食用期以后的饼干、还有牛奶, 给集中销毁了就等于完了, 其实, 合规的销毁流程, 远远不只是把东西烧掉或者埋掉, 那么简单, 在这个流程的背后头, 藏着的一条, 资源再生的完整链…

阅读更多 →
【信息科学与工程学】【测试技术】第十五篇 软硬件测试方法03 2026/9/30 14:59:42

【信息科学与工程学】【测试技术】第十五篇 软硬件测试方法03

。 S-67 软件回归测试 编号 测试类型 测试内容(领域归类) 被测试对象的详细分析 测试方法 测试内容列表和步骤和每个步骤的测试内容和策略和方法和路径 关联知识和标准 S-67 软件回归测试 软件/测试管理 被测试对象的详细分析 回归测试验证软件在代码变更(新功能…

阅读更多 →
双向链表从原理到实战:结构设计、核心操作与经典应用场景 2026/9/30 14:59:35

双向链表从原理到实战:结构设计、核心操作与经典应用场景

1. 为什么单链表不够用,需要双向链表 很多同学学到链表这一章,第一个接触的往往是单链表:一个结点里存一个数据域,再加一个 next 指针,指到下一个结点。这东西上手确实快,但用着用着就会碰到一个让人抓狂的…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉