专栏首页码匠的流水账java10系列(一)Time-Based Release Versioning

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)?

PRE是预发布的版本,比如ea版本,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

  • JEP 322: Time-Based Release Versioning

本文分享自微信公众号 - 码匠的流水账(geek_luandun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • web的发展史

    web2.0时代 ajax异步数据传输(ajax98年出现的,真正广泛接触是在05年的时候,05年的时候出现了一大批基于ajax应用出现了,类似于谷歌地图,16...

    河湾欢儿
  • 基于Java注解和模块化生成树形业务文档的实践

    一个新人快速掌握一个新系统业务逻辑的最好的工具是什么,是看代码?是debug?是看uc?是看demo?答案应该都不是,因为看代码和debug一来太耗时,二来系统...

    加多
  • Java中线程池ThreadPoolExecutor原理探究

    线程池主要解决两个问题:一方面当执行大量异步任务时候线程池能够提供较好的性能,,这是因为使用线程池可以使每个任务的调用开销减少(因为线程池线程是可以复用的)。另...

    加多
  • 在Android上使用Java8启用Jack

    已废弃 目前来说Android开发所支持的Java版本是Java 7,在Android N发布以后可以通过Jack(Java Android Compile ...

    JarvanMo
  • Java中调度线程池ScheduledThreadPoolExecutor原理探究

    前面讲解过Java中线程池ThreadPoolExecutor原理探究,ThreadPoolExecutor是Executors中一部分功能,下面来介绍另外一部...

    加多
  • 高并发编程必备基础(上)

    借用Java并发编程实践中的话"编写正确的程序并不容易,而编写正常的并发程序就更难了",相比于顺序执行的情况,多线程的线程安全问题是微妙而且出乎意料的,因为在没...

    加多
  • 你真的的懂JDBC?

    Java中操作数据库元老是使用JDBC,而JDBC内部是如何实现的,为何每次使用时候都是写那些不理解的几行固定代码?这些看似不相关的代码内部是否有瓜葛那,下面进...

    加多
  • 常用开源框架中设计模式使用分析-原型设计模式(Prototype Pattern)

    相比单例设计模式,原型模式是每次创建一个对象,下面看下spring是如何使用原型模式的

    加多
  • 阿里之路(一)

    我是2015年6月研究生毕业,然后通过校招进入到阿里巴巴,当时复习时候目标很明确就是要进入BAT,然后就一堆堆资料的复习,本科+研究生7年用的都是c++,所以面...

    加多
  • 将旧项目迁移到AndroidStudio3.0

    原来的项目用到了kotlin以及kapt,升级到了androidstudio 3.0报了上面的错误,需要在项目的gradle.properties中添加:

    JarvanMo

扫码关注云+社区

领取腾讯云代金券