Episode 86. Move Over Slow Startup times, GraalVM...IS...HERE. (and cross-language support, and less memory footprint...)


Manage episode 243368519 series 8374
By Freddy Guime and Bob Paulin. Discovered by Player FM and our community — copyright is owned by the publisher, not Player FM, and audio is streamed directly from their servers. Hit the Subscribe button to track updates in Player FM, or paste the feed URL into other podcast apps.

Oh my! This episode is going to be one of our favorites. There are times where the Java ecosystem delivers something incredibly interesting (InvokeDynamic, Lambdas, Streams, Kotlin), and this episode is one of those! You may have heard it mentioned around the interwebs or conferences (this new GraalVM thing)... well, it's here to stay and is propelling JVM languages to a whole new level of interoperatibility and performance!

So GraalVM at the very high-level view is a "Java Virtual Machine" (in reality there's much more to it, but we can at least start there). It provides tons of interesting features, like the ability to not only compile Java/JVM languages, but also Javascript, LLVM Languages (like C++), Python, R (and is expanding to others), and more importantly, interoperatibility between all these languages.

But the bee's knees (or the most interesting fact) is that GraalVM also have the "Native Image", which allows you to completely bake in a Linux (more platforms coming) binary straight up from your source code. The Native Image doesn't require Java to be installed, and you can start your application as you would any other Linux executable. The most impressive part? Startup times are incredibly fast!

So we have usually addressed tons of misinformed myths of the Java language like "It's slow:" (No, not really), or "You can code more performant code in C++" (possibly, but you have to be an expert to squeeze more performance than the JVM's JIT compiler). But one area that the claim has held true is that "Java has slow startup times". And (it used to be) true! Because of the dynamic classloading that Java supports, it's very hard for the JVM to startup fast. For long running applications this is usually not a problem, even so, for the new Cloud folks (and Lambdas, and AutoScaling Groups), fast startup time is a "thing". And so, with GraalVM (with some caveats) we are conquering one of the last arguments against the JVM languages.

In all, THIS is the episode to listen this year. It's exciting, new technology that we could really spin up and use. Let's have fun programming again with GraalVM.

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We thank DataDogHQ for sponsoring this podcast episode

Don't forget to SUBSCRIBE to our cool NewsCast! Java Off Heap

Do you like the episodes? Want more? Help us out! Buy us a beer!

And Follow us! @javapubhouse and @fguime and @bobpaulin

93 episodes