甲骨文限制Java9向后兼容Java8随着我们向JDK9迈进,甲骨文的Java高层管理人员建议限制合并两个版本的代码行。在周一下午发给OpenJDK的一封电子邮件中,甲骨文Java平台部门首席架构师MarkReinhold指出,JDK8(将于2014年初到期)的变化将迅速减少,而JDK9的“森林”——即即,目录树或目录集合的机制——即将开放。Reinhold说,开发人员现在必须处理管理变更,以便与两个版本顺利交互。一般来说,变更通常需要先在开发版本中进行测试,然后再推回到早期版本。但是这个规则对于即将结束生命的版本不太适用,因为准备中的版本(也就是JDK8的现状)会在这段时间接受更全面的测试,不再作为继任者。新的功能和特性是主要需求。由于各种调整会反映在后继版本中,因此下发版本的发布速度会较慢。在此之前,即JDK7,Oracle没有提供处理并行更改的策略。开发人员通常会在拉取请求后将更改合并到当前版本中,并且来自Sun/Oracle发布工程团队的人会半自动地将先前版本与后续版本合并——一些不切实际的合并请求将不会被采纳。之后,开发人员需要将更改推送到新旧版本;利用漏洞数据库查询机制,保证不同的变化影响正确的对应版本。“该计划从未像它应该的那样有效,”莱因霍尔德告诉我们。“它需要数百名开发人员密切关注并调整以前的版本,以监控半自动合并过程是否正常工作;如果合并中止,他们需要立即对集成工作流程进行调整。”为了简化以前版本的发布过程,Reinhold建议使用JDK8的特定构建初始状态启动JDK9开发林。“在这组构建之后,我们不再允许合并来自两个版本的行。向JDK8提交更改的开发人员还需要独立地将该更改交付给JDK9——前提是该更改适用于JDK9。“Reinhold希望这将使整个过程更加简洁明了。”非JDK8通用版本。能够做到这一点会很方便也很酷,但我认为这更多的是一种成就感,而不是实用的技术价值。您不能从JDK8创建JDK7更新;现在的情况与当时没有什么不同。“JDK8,基于JavaStandardEdition8,支持ProjectLambda,可以更轻松地编写运行在多核处理器上的代码。目前已经有一组预览版可用。后续的JavaSE9版本预计将在2016年初,可以通过Jigsaw项目为Java带来模块化的功能机制,原文链接:http://www.infoworld.com/t/java-programming/oracle-limit-backward-compatibility-java-9-java-8-231967
