Java applications can be incredibly performant in the long run, but their weakest spot is at the startup as they may take seconds to start and minutes to warm up. During that period, they consume more memory and process fewer requests. It gets even worse when you restart the application hundreds of times a day or when you use services that charge you for the compute time. Luckily, there are not one but four approaches to dealing with this problem:
Application Class Data Sharing
GraalVM Native Image
Coordinated Restore at Checkpoint
Project Leyden They all differ in terms of ease-of-use and impact on startup/warmup time reduction. We will explore them one by one unveiling caveats and opportunities they offer so that you can choose a perfect solution for your project.









