Java10 series (i) Time-Based Release Versioning

  java10

Order

This article mainly interprets the Time-Based Release Versioning of java10.

Example

  • Java9 version 9
java -version
java version "9"
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
  • Java10 version 10
java -version
openjdk version "10" 2018-03-20
OpenJDK Runtime Environment 18.3 (build 10+46)
OpenJDK 64-Bit Server VM 18.3 (build 10+46, mixed mode)

It can be seen that the version number of version 10 has been named and the date of GA has been added. It is convenient for developers to know how long this version has been released, so as to evaluate whether there are security problems, bugs and the like, and see if it needs to be upgraded to the latest version.

Version naming mechanism

Version number format (VNUM)

$FEATURE.$INTERIM.$UPDATE.$PATCH
  • FEATURE is mainly major version number, such as 10, which is added every 6 months, such as JDK11 released in September 2018
  • INTERIM is mainly minor version number. After it is changed to be released every 6 months, this will be fixed as 0, and it is still retained here.
  • UPDATE is mainly the version number of security or bug-related fix, which is incremented for the first time after one month and then every March. for example, JDK10.0.1 was released in April 2018 and JDK10.0.2 was released in July
  • PATCH is mainly an emergency repair version

Build information

$VNUM(-$PRE)?\+$BUILD(-$OPT)?
$VNUM-$PRE(-$OPT)?
$VNUM(+-$OPT)?

$VNUM is the version number mentioned above, $PRE is the pre-released version, such as ea version, $BUILD is the build version number, and $OPT is optional information

Java –version format

$ java --version
openjdk ${java.version} ${java.version.date}${LTS}
${java.runtime.name}${JVV} (build ${java.runtime.version})
${java.vm.name}${JVV} (build ${java.vm.version}, ${java.vm.info})

Example

  • update
$ java --version
openjdk 10.0.1 2018-04-19
OpenJDK Runtime Environment (build 10.0.1+13)
OpenJDK 64-Bit Server VM (build 10.0.1+13, mixed mode)

Here is the build 13 of JDK 10.0.1 released on April 19, 2018.

  • LTS
$ java --version
openjdk 11 2018-09-20 LTS
OpenJDK Runtime Environment (build 11+42-LTS)
OpenJDK 64-Bit Server VM (build 11+42-LTS, mixed mode)

Here is the LTS version of JDK11 released on September 20, 2018.

Summary

This article is mainly a rough interpretation of the new version naming mechanism, if you want to further study, you can seeJEP 322: Time-Based Release Versioning

doc