By Oleg Šelajev, a developer advocate at Oracle Labs
GraalVM Native Image can be a compelling platform for your Java cloud applications. So what is Native image? Oleg Šelajev explains this in his blog “GraalVM: Native images in containers.” In summary, the GraalVM Native Image utility compiles Java and other JVM language applications ahead-of-time (AOT) and generates native executables making runtime just-in-time (JIT) compilation unnecessary. The elimination of the JIT infrastructure including the compiler, code caches, profile data, and so on reduces application memory and CPU requirements. Applications compiled by the Native Image utility include some cool features like the improved G1 GC garbage collector and Profile-Guided-Optimization (only available with GraalVM Enterprise). These capabilities make it possible to build fast, efficient, and easy-to-distribute Java applications. These benefits make native executables ideal for cloud native deployment, reduce cloud compute consumption, and lower operations cost.
Oleg Šelajev recently wrote a Java Magazine article about how GraalVM Enterprise boosts the performance of AOT-compiled applications. In it, he shows how to create a sample native executable, how a program can be turbocharged and start in milliseconds instead of seconds, and how GraalVM generates significantly smaller executables that outperform the same apps running on OpenJDK
