随着java发布速度的加快,我们是否需要将旧的java代码库迁移到最新版本?

随着java发布速度的加快,我们是否需要将旧的java代码库迁移到最新版本?,java,Java,Java发布的速度比预期的要快。我们需要将旧版本的代码迁移到新版本,以使其更加基于性能和最新 我们是否需要将旧的java代码库迁移到最新版本 否。 恰恰相反。您可能决定只部署Java的长期支持(LTS)()版本。承诺:该版本将在数年内得到积极支持,并针对关键错误/问题进行更新,但不会有可能破坏现有部署的新功能或更改。第一个此类LTS版本计划于2018-09年发布,名为Java 11或18.9 LTS(发布编号为年份和月份) Oracle已于2017年末和2018-03年宣布了发布节奏和支持政策的

Java发布的速度比预期的要快。我们需要将旧版本的代码迁移到新版本,以使其更加基于性能和最新

我们是否需要将旧的java代码库迁移到最新版本

否。

恰恰相反。您可能决定只部署Java的长期支持(LTS)()版本。承诺:该版本将在数年内得到积极支持,并针对关键错误/问题进行更新,但不会有可能破坏现有部署的新功能或更改。第一个此类LTS版本计划于2018-09年发布,名为Java 11或18.9 LTS(发布编号为年份和月份)

Oracle已于2017年末和2018-03年宣布了发布节奏和支持政策的变化。因此,可能还需要几个月的时间,我们才能知道究竟是什么样的版本由谁以什么价格支持多久

特别是,您可能希望避免部署Java 9,因为Java 9的使用寿命很短,Oracle的免费公共更新将于2018-03月结束。顺便说一下,西蒙·里特写过

新的定期“发布列车”计划背后的核心思想之一是,这些计划被推迟了数年等待发布。在一个如此广泛和多样化的项目中,每季度或每学期发布被认为已经准备好的任何特性都更有意义。如果您发现这些功能对将来的部署有用,则可以选择采用该版本。或者,您选择将自己局限于单纯的实验,同时等待具有这些功能的未来LTS版本

更注重性能

将来的版本可能会或不会有与性能相关的改进。这些改进可能会也可能不会对您的特定部署带来好处。此时,您必须选择是否有任何特定的改进值得迁移任何特定的部署

顺便说一句,关于性能,正在进行构建和部署工作。你可能希望密切关注那里的事态发展

最新的

正如上面所讨论的,“保持最新”是您必须逐个发布的选择。做出这样的选择将更容易,因为每个版本的更改列表将更短,因此更容易理解、消化和测试

虽然Oracle和社区承诺使每个版本完全符合稳定标准,并且绝对不是伪装成官方版本的“beta版”,但更改总是带来一定程度的风险。您可能决定坚持使用LTS版本以避免更改

早期访问 您仍然可以访问Java的预发布版本。目前,Java9是正式版本,Java10候选版本可以试用。和可用的

资源 见官员。请注意,Oracle已宣布并确认,它正忙于使其Oracle Java实现与几乎相同,包括提供一些目前已成为商业产品的附加工具


也可以考虑java的实现和支持的替代源。例如:使用&、IBM/with等等。

不需要这样做,但问题是您的代码库的其余部分是否分布在例如1.8兼容的版本中

对于开发人员来说,拥有1.8基本上是一种安慰,保留旧的代码库是可以的。但我也重温了一些处理进程创建和并发基本砖块的旧类,我很高兴这样做

所以,在你明显受益的地方做吧,iff。你认为你可以从你的客户那里得到最近的JRE。如果您已经有了最近的JRE依赖项,请在重用代码和重新访问旧API时进行一些重构。我的建议是,如果某些新特性显然会扼杀您的旧解决方案,但不是系统性的


升级Java版本的最大问题是客户端无法运行更新的版本,否则,旧代码在较新的JRE上运行正常。

您为什么认为新的Java版本与性能有关?简单回答:不。只有一个原因可以更改旧的Java代码以准备将来的Java版本:在使用最新的Java版本编译时,您有
去擦洗的
警告。因为会有新的发布会带来代码优化和解决方案,增加程序的运行时间。如果你有性能问题,你可以考虑它。如果不是,我不认为性能是升级背后的驱动因素。就我个人而言,我期待着利用Java 9和10中的新功能。我们的代码基础是1.6投诉,根据您的建议,我觉得我们需要将其改为1.8投诉,因为我们可以在许多地方重构代码,这将使开发人员感到舒适。