"Static Java": The GraalVM Native Image Programming Model

"Static Java": The GraalVM Native Image Programming Model

Christian Wimmer

02 April 2022

In this talk we will present our vision for “Static Java”: the programming model enabled by GraalVM Native Image. Applications are initialized at image build time, to allow fast startup time and low memory footprint at run time. Counterintuitively, the ahead-of-time compilation of Java bytecode to machine code is not part of the programming model. But since it is an important implementation detail, we will also talk about the benefits and problems of compiling ahead-of-time compilation. We will show where static analysis helps, what the limitations of static analysis are, which compiler optimizations work well both for JIT and AOT compilation, and where additional compiler phases for AOT compilation are necessary.


Venue : The 2022 Graal Workshop (co-located with CGO conference, organized by Twitter): https://graalworkshop.github.io/2022/

File Name : 2022-04-02 CGO Native Image Programming Model.pdf