java10系列(一)Time-Based Release Versioning

本文主要解读下java10的Time-Based Release Versioning

实例

  • java9版本
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版本
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之类的,看是否需要升级到最新版

版本命名机制

版本号格式(VNUM)

$FEATURE.$INTERIM.$UPDATE.$PATCH
复制代码
  • FEATURE主要是major版本号,比如10,每6个月新增1次,比如2018年9月发布的就是JDK11
  • INTERIM主要是minor版本号,在改为6个月发布一次之后,这个就固定为0,这里仍保留
  • UPDATE主要是security或bug相关fix的版本号,第一次递增在1个月后,之后每3月递增1次,比如2018年4月发布的就是JDK10.0.1,7月发布的就是JDK10.0.2
  • PATCH主要是紧急的一些修复版本

build信息

$VNUM(-$PRE)?\+$BUILD(-$OPT)?
$VNUM-$PRE(-$OPT)?
$VNUM(+-$OPT)?
复制代码

VNUM就是上面讲的版本号,PRE是预发布的版本,比如ea版本,BUILD是内部构建版本号,OPT是可选的信息

java --version格式

$ 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})
复制代码

实例

  • 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)
复制代码

这里显示的是2018-04-19发布的JDK 10.0.1的build 13

  • 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)
复制代码

这里显示的是2018-09-20发布的JDK11的LTS版本

小结

本文主要是粗略解读了下新的版本命名机制,如要深入研究,可以查看JEP 322: Time-Based Release Versioning

doc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值