Java 8升级到Java 11有什么有效的点吗?

Is there any valid point upgrading Java 8 to Java 11?

我所在的公司有很多项目在Java 8。那些项目被认为是旧的,我们的团队想升级版本。但是,我们需要有效积分才能解锁。

这些项目正在使用 Spring 和 Hibernate(如果它有用的话)。

有什么事实点可以给我们公司升级版本,如果有事实点?

有用的、有效的点的例子是:

可能会使用文档或有用资源的链接进行备份。

Oracle Java8 的安全更新仅通过企业许可证提供,您可以通过使用较新的稳定版本来节省该数量。 除此之外,使用较新的版本还可以保证与现代 JVM 工具更好地集成,例如最新的构建工具。

  • 旧 Java 版本最终将停止获取新的安全修复程序,这将使您的软件更容易受到攻击
  • 使用旧的软件堆栈会使找到愿意为您的软件工作的新开发人员变得更加困难。 Java 8 可能还不算太老,但几年后这将类似于现在找到 "Java 1.4 developers"。
  • 使用旧的软件堆栈会严重限制您选择有用的第三方库 and/or 工具。您真正需要的给定库可能需要更新的 Java 版本,或者(可能更糟)您已经使用的库增加了它的 Java 新主要版本的版本要求(让您陷入困境旧 Java 版本 可能缺少重要错误修复的旧软件版本)。

切换到较新的 Java 版本有几个好处,这可能不是切换的主要原因,但可以被视为额外的激励措施:

  • 较新的 JDK 实施可能具有更好的优化(主要是在 JIT 和垃圾收集中),这可能有助于您从现有硬件中获得更好的性能(或降低您的云计算成本)
  • 较新的 Java 版本往往支持更现代的技术,例如最新的 TLS 版本和加密算法,如果您正确使用它们,它们可以帮助您提高数据安全性。
  • 新的语言功能可能会改进您的代码风格,这会让您的开发人员更快乐,这意味着减少流失,从而节省雇用新开发人员的费用。

从8跳到11的原因是Oracle(或其他实现)的支持。

您会发现 the roadmap of Oracle here. For Java8 you are safe up to March 2022 for the premier support and extended support to December 2030. For Amazon Corretto 他们将为(至少)2026 年 6 月的第 8 版提供免费支持和更新。

所以更新 JVM 版本的主要原因是支持和更新。您仍有时间更新您的版本,但您还必须等待第 3 方库提供与 Java 11.

的兼容性

如果您想知道为什么从 8 到 11 而不是从 9 或 10,原因是 9 和 10 没有标记为 LTS(长期支持),这意味着不同的实现不会提供任何支持和更新(或不会持续很长时间)对于下一个版本发布时的那些版本。