几个月后的2022年3月,Java8将失去对Oracle Premier的支持。这并不意味着它不会收到任何新的更新,但Oracle在维护它上的努力可能会比现在少得多。
这意味着有很好的理由转向新版本,特别是在2021年9月14日Java 17发布之后,这是新的长期支持版本,那么有必要将java8迁移到java17 吗?
如果你有一个大的、高负载的企业应用程序,并且仍然使用Java8,那么在迁移后你肯定会看到更好的性能、更快的启动时间和更低的内存占用。开发该应用程序的程序员也应该更开心,因为语言本身有很多改进。
但是,这样做的成本很难估计,并且根据所使用的应用程序服务器、库和应用程序本身的复杂性(或者更确切地说,它使用/重新实现的低级功能的数量)的不同而有很大差异。
如果你的应用程序是微服务,那么你可能需要做的就是将基本docker映像更改为17 alpine,将Maven中的代码版本更改为17,然后一切正常。一些框架或库更新可能会派上用场。
到目前为止,所有流行的服务器和框架都支持Java9的Jigsaw项目。它是生产级的,经过了严格的测试,多年来已经修复了缺陷。许多产品提供了Java 9兼容版本的迁移指南或至少广泛的发行说明。
如果你使用SpringBoot作为框架,那么网上有一些文章提供了迁移技巧,可以去参考看看。
如果您的应用程序没有定制的类加载器,没有严重依赖不安全的、大量使用sun.misc或sun.security,那么您很可能不会有问题。
从第8版开始,Java中删除了一些内容,包括Nashorn JS引擎、Pack200 API和工具、Solaris/Sparc端口、AOT和JIT编译器、Java EE和Corba模块。有些东西仍然保留,但不推荐删除,如小程序API或安全管理器。既然删除它们有很好的理由,您无论如何都应该重新考虑在应用程序中使用它们。
Java17 LTS现在已经推出,它将在未来几年内得到支持。另一方面,Java8的支持将在几个月内用完。这无疑是一个考虑到java最新版本的坚实理由。
了解更多
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/120158.html