Spring comes ahead of time, or Unbearable lightness of AOT compilation of the Spring Boot applications

Day 1 /  / Track 3  /  RU /

It appears that Spring Framework uses nearly all the Java dynamic features: Spring Boot applications are being loaded by their own classloader, Java bytecode on the fly generation and loading, reflection are being used everywhere, etc.

On the other hand, static AOT compilation of the Java applications is gaining popularity in the world of microservices. It can solve problems of fast start up, predictable performance and instant peak performance achievement. One wonders whether the dynamic of Spring Framework can coexist with static compilation? The answer is yes, it can.

In this talk Nikita, using Spring Boot support in AOT-centric JVM Excelsior JET as an example, will show how Java dynamic features used in Spring Framework can work together with AOT-generated machine code.

Nikita Lipsky

Nikita is an initiator and a product lead of Excelsior JET project — complete Java SE implementation (JVM) with AOT compiler developed by Excelsior LLC. Working on the project since 1997 he took part in almost every activity of the project from the JVM core to product management and support. In particular, he is the author of OSGi support at the JVM level, Java Runtime Slim-Down technology (Java SE modularization implemented in Excelsior JET since 2007), both Java bytecode verifiers, Spring Boot support and many others.