I haven't touched java in years, but have known this existed. How does it compare to some of the features added in recent versions of java that do similar stuff?
The AOT in the OpenJDK? It actually uses the same compiler, Graal, under the hood. But SubstrateVM is another level - it produces a single statically linked binary of your Java program - no JVM needed on your system or included in the binary. It's all written in Java - the GC and everything.
Thanks for the explanation. Is this for Java only, or can it be used with all other languages that produce JVM bytecode?
It works on JVM bytecode in classfiles and doesn't have an opinion on where it came from. Some JVM languages may be more likely to use features that aren't supported though, like reflection on classes you haven't annotated. I think we've used it on Kotlin and Scala at least.
This is very exciting. Are JavaFx applications supported?
I don’t know how it’s implemented, but JNI works I believe.