tl;dr
You can install and use any of the JDK products from any of the JDK vendors (Azul Systems, BellSoft, Amazon, Microsoft, Oracle, IBM, Red Hat, Adoptium of the Eclipse Foundation, SAP, etc.) to build your app with any of the major IDEs (IntelliJ, Eclipse, NetBeans).
Some of those JDK products are free of cost, some are not. Study the license and terms before downloading.
Details
You seem to misunderstand the nature of JDKs that implement the Java specifications.
Oracle Corp owns the Java trademarks, and the specifications. Anybody is free to develop their own implementation of those specs. However, nobody can use the Java trademarks without permission from Oracle.
Many years ago, most of the vendors producing an implementation of those Java specs got together in a cooperative effort known as the OpenJDK project. A major aim in this effort is the development of a single codebase, to be stored amongst themselves and the public. Contributors include companies such as Oracle, IBM, Apple, as well as individuals.
The OpenJDK project publishes only source code, not binaries nor installers.
Several vendors provide implementations of the Java specs as JDK products in the form of binaries and/or installers. Most of these implementations rely heavily, if not entirely, on the OpenJDK codebase. These vendors include Azul Systems, BellSoft, Amazon, Microsoft, Oracle, IBM, Red Hat, Adoptium of the Eclipse Foundation, SAP, and more.
Note that while Oracle owns the trademarks for “OpenJDK”, they have given open permission for other vendors to optionally use that word in the title of their JDK products’ name.
Oracle offers three different JDK products: Oracle JDK (commercial, supported), Oracle OpenJDK (open-source, free-of-cost, unsupported), and two editions of GraalVM (one free-of-cost & unsupported, one commercial & supported). The first two are functionally identical to each other and to most every other JDK product from other vendors. In contrast, the GraalVM products are for special needs such as ahead-of-time compilation and polyglot.
Oracle has publicly committed to maintaining feature-parity between their Oracle JDK product and the OpenJDK codebase. Like any other JDK vendor, Oracle reserves the right to release any urgent bug or security fix to their paying customers first before working through the less-timely OpenJDK process.
That is a long-winded way of saying: You can install and use any of the JDK products from any of the JDK vendors to run your Java app. All of the JDKs from vendors today are thoroughly tested for quality as well as for compliance with the Java specs.
Be aware that some IDEs such as IntelliJ come bundled with their own JDK for their internal use. You still need to install a separate JDK for your own Java app to compile against, and to execute with.
Is it ok to download both versions of Java on one computer - Oracle Java and open-source Java?
By "Oracle Java", you likely meant the Oracle JDK product mentioned above. That product is “open-source Java”, in that it is built from the OpenJDK codebase, the only difference being a few possible fixes yet to wind their way through the submission process of the OpenJDK bureaucracy.
Before using Oracle JDK, or any JDK product, be sure to carefully study the license and its terms. Some JDK products require payment of a fee in some situations.
Will the computer have problems? Will the editor - Eclipse or IntelliJ - have problems?
Yes, you can have any number of different JDK products installed on your computer. These can be from different vendors, for different versions of the Java specs. Eclipse, IntelliJ, and NetBeans can use any JDK from any vendor to compile your app, and to execute your app.
Do I need a tool like SDKMan to turn off certain Java versions
No, there is no "turning off" any of the several JDK products you may have installed.
The only issue is designating which JDK is to be used by default. For example, on a console, if you were to execute java --version
, which java
executable of several JDKs should be used.
You can set the default manually, usually by setting an environment variable. I find it much easier to ask SDKMAN! to set the default. Indeed, SDKMAN! prompts you while installing a JDK if you want to make the new installation the default.
Of course you can always bypass the default JDK by referring explicitly to a specific folder location.
Will having 2 editors be a problem - having both Eclipse and IntelliJ?
No, no problem.
You could run Eclipse, IntelliJ, and NetBeans all simultaneously on your computer if you so wished and if your computer had enough RAM.
As for recommending a particular JDK product, I can confidently recommend them all. Choose any of the JDK vendors, such as those listed above, and rest assured of their equivalent quality and performance.
- If you or your company already has a relationship with one of those vendors, then you may want to choose their JDK products.
- If you want to purchase a support plan, choose a JDK from those vendors offering support.
- If you have special needs, do some research to see if products like GraalVM from Oracle or Zing from Azul Systems meets those needs.
- If you are feeling overwhelmed with choices, just go to Adoptium.
SDKMAN! is an amazing clever collection of shell scripts that work quite well. But be aware that SDKMAN! lists only a subset of the JDK vendors. To be listed, a JDK vendor must voluntarily submit data about their products to the SDKMAN! web site. If your favorite vendor is not listed, ask that vendor to submit their data.
Read Java Is Still Free, written by pillars of the Java community.