We'll talk about configuration of SubstrateVM, special aspects of its approach to code compiling and its limitations. We'll take a look at the internal analysis of Java programs and at what exactly happens when the image is being created (at this moment you might experience mixed feelings for static initializers in the code and for rarely updated libraries). We'll figure out how and why we should configure the use of Reflection API, access to resource files, JNI, Unsafe, and all the other little things of the common Java applications. We'll show how to use profile-guided optimizations for creating quick images which do not lose information about potential profile of using the code. We'll discuss which programs might and should be compiled ahead-of-time, look at applications already working and their performance.
P. S. We're not going to consult assembler, maybe just to check the box.