Java 10 从 Java 8 迁移而来。在生产环境中运行服务 [已关闭]

2022-09-03 13:17:28

我们希望将所有生产服务从 Java 8 迁移到 Java 10。据我所知,我们可能会面临用于开发的构建(gradle等),依赖项等问题。但是,当涉及到JVM本身,即运行服务时,如果我们只是在生产环境中安装JVM 10来运行我们的jar服务,我们是否会遇到任何问题?


答案 1

我不确定为什么这被否决了,因为这似乎是一个合理的问题。

Oracle自己关于将应用程序从JDK 8及更早版本迁移到JDK 9及更高版本的指南是“仅使用 java.se 的应用程序应该可以正常工作”。如果您没有(直接或间接通过第三方库或框架)使用任何JDK内部API(sun.misc.Unsafe是最臭名昭著的),那么您可以将所有应用程序代码留在类路径上,这很可能无需更改即可工作。有一些差异可能会让您对命令行标志等内容进行更改。

我已经写了两篇关于这个问题的博客,可能对你有所帮助:

https://www.azul.com/jdk-9-pitfalls-for-the-unwary/

https://www.azul.com/jdk-10-pitfalls-for-the-unwary/

您还应该记住,迁移到 JDK 10 没有任何意义。JDK 11将于下个月发布,届时,JDK 10的更新将停止。最好迁移到 JDK 11。如果您正在寻找长期支持,Oracle现在正在为此收费。查看我们的 Zulu OpenJDK 版本。


答案 2

一个很好的起点是 Oracle 下载站点上的 JDK 迁移指南。JDK 10 迁移指南介绍了从 JDK 8 到 JDK 10 的迁移,可在此处找到:

https://docs.oracle.com/javase/10/migrate/toc.htm

另一个很好的资源是JDK发行说明,因为这些说明包括有关已知源代码,二进制和行为兼容性问题的注释。您可以从此处找到链接的 JDK 9 和 JDK 10 版本的发行说明:

https://www.oracle.com/technetwork/java/javase/jdk-relnotes-index-2162236.html

另一个资源是来自会议的视频。我已经多次准备了迁移到JDK 9及以后的主题。Devoxx BE 2017的最新作品可以在这里找到:

https://www.youtube.com/watch?v=uSR5JroBp34


推荐