霸王的大陆3.29版java_你能接受Java 9的下一个版本是Java 18.3吗?
原标题:你能接受Java 9的下一个版本是Java 18.3吗?
按照计划,Java 9 将于 9 月 21 日正式发布。还有一周时间,是不是很期待?
在 Java 9 这个重要版本之后,Java 又将如何继续发展呢?
Oracle Java 平台组首席架构师 Mark Reinhold 在博客上介绍了有关 Java 未来版本的一些想法。
从 1995 年发布至今,Java 已经走过了 20 多个年头。我们先来回顾下 Java 重要版本的发布时间:
JDK 1.0 (1996 年 1 月 23 日)
JDK 1.1(1997 年 2 月 19)
J2SE 1.2 (1998 年 12 月 8 日)
J2SE 1.3 (2000 年 5 月 8 日)
J2SE 1.4 (2002 年 2 月 6 日)
J2SE 5.0 (2004 年 9 月 30 日)
Java SE 6 (2006 年 12 月 11 日)
Java SE 7 (2011 年 7 月 28 日)
Java SE 8 (2014 年 3 月 18 日)
当然,不出意外,还有 2017 年 9 月 21 日的 Java SE 9。
仔细研究一下发布日期,你会发现一个规律——就是根本没什么规律!
Java 是用一个或多个重要特性来定义一个大版本的,比如 Java 9 的模块化,所以该版本也因为模块化开发面临的各种问题而一拖再拖。但是除了模块化,Java 9 还有很多小的特性,比如 jshell,AOT 编译等,而这些特性也必须等模块化完成后,Java 9 正式发布之时,我们才能享受到。
其实模块化本来计划放到 Java 8 中的,不过在 2012 年,Mark Reinhold 认为,如果想如期发布 Java 8,就得放弃模块化项目。他做了个比喻,如果火车到了发车时间,是等待所有乘客上车再发车,还是按时发车,让赶不上的乘客乘下一班?
所以,当时 Mark Reinhold 就希望 Java 的版本发布模式从基于特性改为基于时间,以两年为周期,发布新的版本。可惜理想很丰满,现实很骨感,从 Java 8 和 Java 9 的发布时间我们就能感觉到了。
回顾过去,Mark Reinhold 认为两年的周期还是太长了。想要稳定的发布节奏,速度要提上来。半年就不错嘛!
以半年为周期,持续发布新的版本,读者对这种模式应该并不陌生。比如 Go 语言,今年 2 月发了 1.8,8 月发了 1.9。每到一个新对周期,大家群策群力,讨论出下一个版本需要增加的特性,一起努力就好了。
还有一个比较典型的,Ubuntu,也是半年一个版本,而且是用年份和月份组成版本号,第一个版本是 2014 年 10 月发布的 Ubuntu 4.10,而最新版本则是今年 4 月发布的 Ubuntu 17.04。
Java 将采用什么发布模式呢?
Mark Reinhold 建议,在 Java 9 之后,采用严格的基于时间的模式,每 6 个月一个版本,每季度更新,每 3 年提供一个长期支持版本。
有几个要点。
新版本可以包含任何类型的特性,包括但不限于增加新 API,改进 API,语言和 JVM 上的新特性等。新的特性,只有在几乎完成的时候,才会合并到发布分支上,保证发布分支总是特性完备的。新版本将从 2018 年 3 月开始,于每年的 3 月和 9 月发布。
更新版本,将严格限制在修复安全问题、回退和新特性中的bug。每个新版本发布之后,在下一个新版本发布之前,会发布两次更新,分别在 1 月,4 月,7 月和 10 月。
2018 年 9 月发布的版本为长期支持版本,依此类推,每 3 年一个。提供 3 年或更长时间的支持。
关于版本号,Mark Reinhold 建议采用 $YEAR.$MONTH的方式,这样 2018 年 3 月的版本就是 18.3,9 月的版本就是 18.9 了。是不是跟 Ubuntu 很类似啊?
目前该提议已经提交给 JCP 执行委员会讨论。在邮件组里,目前也有些讨论,不过关注最多,但是实际意义并不大的,都是在纠结版本号的命名方式。
你能接受 Java 9 后的下一个版本是 Java 18.3 吗?
差点忘了,还有个好消息可以分享一下,Oracle 计划把一些商业特性(比如Java Flight Recorder )迁移到 OpenJDK。惊喜不惊喜?意外不意外?好,我们拭目以待。
参考资料:
1. Moving Java Forward Faster :https://mreinhold.org/blog/forward-faster
2. Faster and Easier Use and Redistribution of Java SE : https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se
3. Accelerating the JDK release cadence : http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html
历史文章:
JDK 9第一个发布候选版本已出,可以尝鲜了
Java 9值得关注的新特性返回搜狐,查看更多
责任编辑:
霸王的大陆3.29版java_你能接受Java 9的下一个版本是Java 18.3吗?相关推荐
- Java入门123:一个老鸟的Java学习心得(二维码版)
Java入门123:一个老鸟的Java学习心得(二维码版)清华大学出版社 Java入门123--一个老鸟的Java学习心得(二维码版)充分考虑了初学Java的种种困难,讲解细致入微,抽丝剥茧,层层推进 ...
- 三国志2霸王的大陆 java_三国志2霸王的大陆完美手机版下载_三国志2霸王的大陆安卓完美版下载v4.2.0_3DM手游...
<三国志2 霸王的大陆完美版>是款非常受玩家们青睐的好玩的策略对战手游.游戏中玩家们可以在这里体验到全新的策略国战玩法,带你在这里感受到不一样的三国历史体验.你还等什么?赶快下载体验吧. ...
- 博弈游戏 ai JAVA_四国军棋是比较全面的下一个AI博弈游戏
中国象棋和国际象棋程序,采用的都是α-β剪枝方法,但对于围棋来说,这个方法并 不适用,其主要问题是围棋的局面评估不好计算.后来蒙特卡洛方法的引入对于围棋 来说一次突破,通过模拟的方法对局面进行评估,使 ...
- office2020与2016版的不同_Office2016与Office2019,这两个版本有些什么区别
不知道大家有没有发现,自Office2007版开始,到Office2010.Office2013.Office2016,到现在的Office2019,基本上每3年更新一次版本,是不是这个版本还没有玩明 ...
- 思迅商云xpb版的最后一个版本_6个版本“建宁公主”,个个貌美如花,但最美的一版,并不是林心如!|林心如|建宁|邱淑贞|刘玉翠|娄艺潇|怀玉公主...
提起"建宁公主"这个人物,想必大家都不陌生.她是在金庸小说<鹿鼎记>中登场的人物,也是主人公韦小宝的七位夫人之一,性格刁蛮.泼辣.胆大妄为.在大小荧屏中,有不少女星都曾 ...
- Java霸王大陆3.0.2_三国志2霸王的大陆最终版
三国志2霸王的大陆最终版是陪伴了多数玩家童年的三国策略类游戏,在这款游戏之中玩家招兵买马,打造三国最强军团,以君王的身份去带领自己的武将们在乱世之中去攻城掠地,打败各方强敌,喜欢这款游戏的玩家来下载游 ...
- Java霸王的大陆梦幻版_三国志霸王的大陆,喜欢三国的进
三国是中国历史上英雄辈出的时代,<霸王的大陆>这款移植自Fc的战棋游戏更是中国手游java游戏的No.1!该游戏内容极其丰富,对玩家的要求很高,因此这完全是一款符合游戏高手要求的大型单机游 ...
- psp用ps1模拟器_电脑上ps1和fc模拟器资源下载,包含当年ps1上的西游记和霸王的大陆复刻版...
不知道当年有多少玩家接触过这款ps1上的西游记,当年小编第一次玩的时候是在当时的ps房里玩的,单人3块钱一个小时,对于小学生的我来说,玩每一个小时都备感珍惜,但是当年的是日文版的,并没有通关过,玩到梦 ...
- 艾斯拉大陆设定2010版
搞设定真不是人干的活,上一个版本设定是两三年前写的,经过两三年的不断完善,形成现在这个体系.设定参考了魔兽世界,比如艾泽拉斯<==>艾斯拉,银月城,艾露恩,雷克萨<==>雷可萨 ...
最新文章
- c语言大作业菜单管理,C语言大作业:编写菜单控制猜商品价格程序
- Linux数据报文接收发送总结4
- 【Python基础】如何用Pandas处理文本数据?
- 用CSS的 filter 来轻松实现图层半透明
- 一套完整的基于随机森林的机器学习流程(特征选择、交叉验证、模型评估))...
- php 面试靠快速排序,搞定PHP面试 - 常见排序算法及PHP实现
- bzoj1070 [SCOI2007]修车 费用流+拆分
- prim算法详解java_Prim算法(三)之 Java详解
- 使用mysql事务管理_MySQL事务管理的介绍(附示例)
- linux bash错误,linux bash错误重定向输出
- 如何安装JCreator
- Unity Shader案例之——阴阳师画符效果
- Excel插入斜线表头
- ASP.NET类计算机专业毕业设计题目选题课题
- POTN——新时代网络融合的必经之路
- 陈天奇:机器学习科研的十年
- 使用余弦相似度算法计算文本相似度
- Word里的标尺怎么用?这五个Word标尺的妙用赶紧收藏
- euler和鸿蒙,euleros 鸿蒙
- Mac系统安装Node
热门文章
- python自动操作微信_微信全智能机器人测试,Python代码实现自动化操作,玩转智能应答...
- CS0016: 未能写入输出文件“xxxxxx.dll”--“目录名称无效。解决方法
- 软件测试面试题:分苹果
- TelegrafInfluxdb学习笔记
- 【C语言->数据结构与算法】->哈夫曼压缩解压缩->第一阶段->哈夫曼编码解码的实现
- samtools + bcftools
- 最简单的微信视频号下载方法,收藏备用超级实用
- 【USB】Android实现读写USB串口数据
- TransformGizmo(变换)切换
- 严选114个创新创意Java计算机毕业设计项目,赢在毕设起跑