Java release naming is a little confusing. There are actually two systems of naming and numbering, as shown in this table:
JDK version | Marketing name |
---|---|
jdk-1.0 | JDK 1.0 |
jdk-1.1 | JDK 1.1 |
jdk-1.2 | J2SE 1.2 |
... | ... |
jdk-1.5 | J2SE 1.5 rebranded Java SE 5 |
jdk-1.6 | Java SE 6 |
jdk-1.7 | Java SE 7 |
jdk-1.8 | Java SE 8 |
jdk-91 | Java SE 9 (not released yet) |
1 - It appears that Oracle intends to break from their previous practice of using a "semantic version number" scheme in the Java version strings. It remains to be seen if they will follow through with this.
The "SE" in the marketing names refers to Standard Edition. This is the base release for running Java on most laptops, PCs and servers (apart from Android).
There are two other official editions of Java: "Java ME" is the Micro Edition, and "Java EE" is the Enterprise Edition. The Android flavor of Java is also significantly different from Java SE. Java ME, Java EE and Android Java are outside of the scope of this Topic.
The full version number for a Java release looks like this:
1.8.0_101-b13
This says JDK 1.8.0, Update 101, Build #13. Oracle refers to this in the release notes as:
Java™ SE Development Kit 8, Update 101 (JDK 8u101)
The update number is important -- Oracle regularly issue updates to a major release with security patches, bug fixes and (in some cases) new features. The build number is usually irrelevant. Note that Java 8 and Java 1.8 refer to the same thing; Java 8 is just the "marketing" name for Java 1.8.