Quarkus

Java framework From Wikipedia, the free encyclopedia

Quarkus[3][4][5] is a Java framework optimised for resource efficiency and developer experience. Key technology components surrounding it are OpenJDK HotSpot and GraalVM. Quarkus provides developers a unified reactive and imperative programming model to address a wider range of distributed application architectures.

Initial releaseMarch 23, 2019; 7 years ago (2019-03-23)[1]
Stable release
3.35.2[2] / May 11, 2026; 0 days ago (2026-05-11)
Written inJava
Quick facts Developer, Initial release ...
Quarkus
DeveloperRed Hat
Initial releaseMarch 23, 2019; 7 years ago (2019-03-23)[1]
Stable release
3.35.2[2] / May 11, 2026; 0 days ago (2026-05-11)
Written inJava
PlatformJava
TypeApplication Framework
LicenseApache License 2.0
Websitequarkus.io
RepositoryQuarkus Repository
Close

Version history

More information Version, Date ...
VersionDateNotes
0.12March 20, 2019Initial release
1.0Nov 2019
2.0Jun 2021
3.0.1Mar 2023
3.2.6Oct 2023LTS (3.2)
2.16.12.FinalOctober 17, 2023
3.2.7.FinalOctober 19, 2023
3.5.0October 25, 2023
3.2.9.FinalNovember 17, 2023
3.6.0November 29, 2023
3.2.10.FinalJan 2024
3.7.1Jan 2024
3.8.1Feb 2024LTS (3.8)
3.10.0Apr 2024
3.13.0July 2024
3.15.2Nov 2024LTS (3.15)
3.16.2Nov 2024
3.17.7Jan 2025
3.18.3Feb 2025
3.22.3May 2025
3.25.3Aug 2025LTS (3.20.2.1)
3.28.1Sep 2025LTS (3.27.0)
3.29.3Nov 2025LTS (3.27.1)
3.30.6Jan 2026
3.34.1Mar 2026LTS (3.33.1)
Close

Distributions

GraalVM Community Edition (CE) and GraalVM Enterprise Edition (EE)

GraalVM is a Java Virtual Machine for compiling and running applications written in different languages to a native machine binary. GraalVM Community Edition has varying support and licensing requirements.

Mandrel

Mandrel is a downstream distribution of GraalVM CE, supporting the same capabilities to build native executables but based on the open source OpenJDK. Mandrel aims to make GraalVM easy to consume by Quarkus applications by only including GraalVM CE components that Quarkus needs. Red Hat began commercial support for using Mandrel to build native Quarkus applications since the Quarkus 1.7 release in October 2020.[6]

Design pillars

Container first

Quarkus was designed around the container-first and Kubernetes-native philosophy, optimizing for low memory usage and fast startup times.

As much processing as possible is done at build time, including taking a closed-world assumption approach to building and running applications. This optimization means that, in most cases, all code that does not have an execution path at runtime isn't loaded into the JVM.

In Quarkus, classes used only at application startup are invoked at build time and not loaded into the runtime JVM. Quarkus also avoids reflection as much as possible, instead favoring static class binding. These design principles aim to reduce the size, and ultimately the memory footprint, of the application running on the JVM while also enabling Quarkus to be natively-native.

Quarkus' uses the native image capability of GraalVM to compile JVM bytecode to a native machine binary. GraalVM aggressively removes any unreachable code found within the application's source code as well as any of its dependencies. Combined with Linux containers and Kubernetes, a Quarkus application runs as a native Linux executable, eliminating the JVM.

Built on standards

Quarkus rests on an ecosystem of technologies, standards, libraries, and APIs, including Contexts & Dependency Injection (CDI), Jax-rs, Java persistence api (JPA), Java Transaction API (JTA), Apache Camel, and Hibernate.[citation needed]

Quarkus is an Ahead-of-time compilation (AOT) platform, optimizing code for the JVM as well as compiling to native code for improved performance. All of the underlying technologies are AOT-enabled.[7]

References

Bibliography

Related Articles

Wikiwand AI