Quarkus是一个全栈Kubernetes原生Java框架,用于Java虚拟机(JVM)和原生编译,专门针对容器优化Java,使其成为无服务器、云和Kubernete环境的有效平台。
Quarkus旨在与流行的Java标准、框架和库(如Eclipse MicroProfile和Spring)以及Apache Kafka、RESTEasy(JAX-RS)、Hibernate ORM(JPA)、Spring、Infinispan、Camel等)一起工作。
Quarkus的依赖性注入解决方案基于CDI(上下文和依赖性注入),包括扩展框架以扩展功能并配置、引导和将框架集成到应用程序中。添加扩展就像添加依赖一样简单,也可以使用Quarkus工具。
它还向GraalVM(一种通用虚拟机,用于运行以多种语言编写的应用程序,包括Java和JavaScript)提供正确的信息,以进行应用程序的本地编译。
专为开发人员设计
Quarkus设计为从一开始就易于使用,具有在很少或没有配置的情况下工作良好的功能。开发人员可以为他们的应用程序选择他们想要的Java框架,这些框架可以在JVM模式下运行,也可以在本机模式下编译和运行。
Quarkus着眼于开发人员的享受,还包括以下功能:
l 实时编码,以便开发人员可以立即检查代码更改的效果并快速排除故障
l 使用嵌入式托管事件总线统一命令式和反应式编程
l 统一配置
l 轻松生成本机可执行文件
集装箱优先
无论应用程序托管在公共云上还是内部托管的Kubernetes集群中,快速启动和低内存消耗等特性对于降低总体主机成本都很重要。
想了解有关Quarkus更多详细信息,建议参加Java培训,通过系统全面的学习,可以快速提升自己。Quarkus是围绕容器优先的理念构建的,这意味着它通过以下方式优化以降低内存使用率和加快启动时间:
l Graal/SubstrateVM的一流支持
l 生成时元数据处理
l 减少反射使用
l 本机映像预引导
因此,与传统Java相比,Quarkus构建的应用程序消耗了1/10的内存,并且启动时间更快(快300倍之多),这两者都大大降低了云资源的成本。
命令式和反应式代码
Quarkus设计用于在开发应用程序时无缝结合熟悉的命令式代码和非阻塞、反应式代码。这对于那些习惯于使用命令式模型并且不想改变事情的Java开发人员,以及那些使用云原生/反应式方法的开发人员都很有帮助。Quarkus开发模型可以适应你正在开发的任何应用程序。
Quarkus是在这个无服务器架构、微服务、容器、Kubernetes、功能即服务(FaaS)和云的新世界中运行Java的一个有效解决方案,因为它是考虑到所有这些因素而创建的。