runtimes
It's super straightforward with Julia as there is only one runtime that runs Julia, which is... well Julia runtime 😐. So you just go to downloads (unless wanna build from source) and pick a version.
It's bit trickier with JavaScript. And I never wanted to be the type to think big thoughts about the nature of things. All I ever wanted was a stack of pancakes and a V8. And JavaScript seems to have really wanted V8 as well. There are quite a few JavaScript engines now, but V8 stays the most widely used one. There is a good chance your current JavaScript runtime is based on it... or SpiderMonkey or JavaScriptCore. And it's the runtime you need to actually build something with JS, as it's the runtime that gives you access to things like Web API for example. You can start and go a long way using your browser as the runtime (Lynx not), but node or deno (ah, anagrams 🤓) will get you at some point.
Java has been under the sun for a long time
until oracle took over.
But it's been moving towards open source at least since Sun delivered OpenJDK 6, the first open source version of Java, in 2007.
A full open source reference implementation was completed in 2011 when Java SE 7 from Oracle launched.
And so you get to choose from quite a few vendors:
So what is it that different vendors provide? They give you a development kit, Java Development Kit - JDK. The kit consists of development tools (e.g. compiler) and Java Runtime Environment - JRE. And it's the JRE that provides the libraries, Java Virtual Machine - JVM, and other components necessary for you to run the apps written in the Java programming language. And JVM is at the heart of so many mind-blowing things, like birth of JVM languages for example. Picking a vendor isn't a trivial job (even leaving license and support concerns aside), but Temurin is a sensible default... and if you get to use SDKMAN! it's the default one. I'd also recommend Semeru as a great way to get to utilize super cool Eclipse OpenJ9 JVM.