FAQ
Last updated
Was this helpful?
Last updated
Was this helpful?
Java versions before 9 had a different naming scheme. So, Java 8 can also be called 1.8, Java 5 can be called 1.5 etc. With the switch to time-based releases with Java 9 the naming scheme also changed, and Java versions aren’t prefixed with 1.x anymore.
Considering a example of Python where there are breakages between releases, like say Python 2 to 3, Java is special here. Java in this regard is backwards compatible. This means that our Java 5 or 8 program is guaranteed to run with a Java 8-20 virtual machine with a few exceptions which can be ignored for now.
However, it does not work the other way around, say our program relies on Java 20 features, that are not available under a Java 8 JVM.
Up until Java 8, the Oracle's website offered JREs and JDKs as separate downloads - even though the JDK also always included a JRE in a separate folder. With Java 9 that distinction was gone, and we are always downloading a JDK. The directory structure of JDKs also changed, with not having an explicit JRE folder anymore.