本文主要解读下java10的Time-Based Release Versioningjava
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)
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)
能够看到10版本的版本号命名编号了,新增了GA的日期,方便开发者知道这个版本已经发布了多久,好评估是否有安全问题、bug之类的,看是否须要升级到最新版
$FEATURE.$INTERIM.$UPDATE.$PATCH
$VNUM(-$PRE)?\+$BUILD(-$OPT)? $VNUM-$PRE(-$OPT)? $VNUM(+-$OPT)?
$VNUM就是上面讲的版本号,$PRE是预发布的版本,好比ea版本,$BUILD是内部构建版本号,$OPT是可选的信息
$ 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})
$ 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)
这里显示的是2018-04-19发布的JDK 10.0.1的build 13
$ 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)
这里显示的是2018-09-20发布的JDK11的LTS版本
本文主要是粗略解读了下新的版本命名机制,如要深刻研究,能够查看JEP 322: Time-Based Release Versioning安全