SDKMAN appears frequently in setup guides and tooling posts on this site. These articles cover version management, Java installations, and practical developer workflow improvements.
Jago de Vreede is bringing SDKMAN to Windows! He builds a user interface on top of the terminal tool to make it easier to use, and add the same time solves the problem that you could only use SDKMAN on Linux and macOS. In the previous “JFX In Action” interview we saw how jDeploy can be used to distribute a JavaFX application, and in this one we see how you can achieve the same with GraalVM, although it is more difficult to setup. In the video, he walks us through the GitHub Actions that he created to build those native binaries. Jago also shows us how he uses SceneBuilder to create the layout of the app.
On July 15th of 2023, I published a post here about my initial experiments with CRaC on the Raspberry Pi. At that time, I found out that both the Linux kernel in Raspberry Pi OS and the Zulu Build of OpenJDK still needed some changes to work on the Raspberry Pi. I created a ticket in the Linux kernel project, which was solved by Phil Elwell. Last week, a new version of the Raspberry Pi OS, based on Debian Bookworm, was released. And in september, version 21 of OpenJDK was released and the Zulu Build of it, includes CRaC. So let’s see if we can use CRaC without issues, if we bring all this togheter.
With the April release of the Zulu Build of OpenJDK, Azul announced the integration of CRaC in its version 17 of Java for Linux. Coordinated Restore at Checkpoint (CRaC) is a feature introduced in OpenJDK to improve Java’s application startup and warmup times to milliseconds from seconds or even minutes, by allowing a running application to pause, snapshot its state, and restart later, even on a different machine.
If you create a new SD card for a Raspberry Pi with the operating system, you can choose the “Raspberry Pi OS Full (32-bit)” edition, which includes Java 11. But a lot of the other available OS-versions don’t have Java included.