Skip to content

Things I learned On OpenJDK While Experimenting With CRaC for Fast Java Startup

Photo of Olivier Hubaut
Hosted By
Olivier H.
Things I learned On OpenJDK While Experimenting With CRaC for Fast Java Startup

Details

Hi everyone!

For the last event of 2023, we are pleased to welcome Frank Delporte who will guide us through his journey in the wonderful land of constrained devices and speed optimisation on the JVM, thanks to CRaC.

Abstract:

Coordinated Restore at Checkpoint (CRaC) is an innovative JDK project designed to significantly reduce Java applications' startup time. By capturing a fully warmed-up snapshot of a Java process, CRaC enables the launch of one or more JVMs from this checkpoint. This results in faster time to the first transaction and improved overall code execution speed. Several projects, including Quarkus, Micronaut, and Spring, have recognized the potential of CRaC and are actively working on incorporating it into their frameworks to achieve lightning-fast application startup times, which will have a significant impact on how we run our applications on powerful (cloud) servers.

CRaC is the final step after multiple client projects by Azul in the automotive and IoT industry! Infotainment systems, gateways, and other use cases require ultra-fast startup while running on embedded ARM32 and ARM64 systems. Let's explore CRaC's applicability and impact on embedded devices with the Raspberry Pi, using an ARM processor, the ideal and inexpensive playground. While testing and documenting this process, I learned much about how Java starts an application, compiles the code, and needs time to "warm up." It also gave me insight into how the OpenJDK project is organized and what information you can find in its sources.

Brace yourself for some exciting findings because, as it turns out, the OpenJDK project can be read as a history book and CRaC makes a remarkable difference in optimizing Java application performance, yes, even on an inexpensive Raspberry Pi!

About our Speaker:

Frank Delporte is a Java Champion, developer, and technical writer working at Azul ([https://www.azul.com),](https://www.azul.com,/) blogs on his site ([https://webtechie.be)](https://webtechie.be/) and Foojay ([https://foojay.io/)](https://foojay.io/), author of "Getting Started with Java on the Raspberry Pi" (https://webtechie.be/books/), co-organizer of BeJUG ([https://bejug.github.io/)](https://bejug.github.io/), and contributor to Pi4J (https://pi4j.com/). He blogs about his experiments with Java, sometimes combined with electronic components, on the Raspberry Pi.

COVID-19 safety measures

Event will be indoors
The event host is instituting the above safety measures for this event. Meetup is not responsible for ensuring, and will not independently verify, that these precautions are followed.
Photo of BruJUG - The Brussels Java User Group group
BruJUG - The Brussels Java User Group
See more events