Now that we know about some of the highlights of Quarkus, let's have a more in-depth look at the architecture of this framework.
At the heart of Quarkus, there is the core component that does the hard work of rewriting our application in the build phase so that super-optimized native executable and Java-runnable applications can be generated. To do that, Quarkus core requires the cooperation of a set of tools:
- Jandex: This is a space-efficient Java annotation indexer and offline reflection library that's able to index all runtime visible Java annotations and class hierarchies for a set of classes into a memory-efficient representation.
- Gizmo: This is a bytecode generation library used by Quarkus to produce Java bytecode.
- GraalVM: This is a set of components. Every component has a specific function, such as a compiler, an SDK API for the integration...