从 Java 8 转换到 Java 11
截至目前(2024 年),十年前发布的 Java 8 依然是 Java 中应用最广泛的版本,占比 37%,其次是 Java 11。而目前的 JDK 最新版本为22,最新的 LTS 版本为 JDK 21。
从 Java 8 迁移到 Java 11 可能意味着很大的工作量。 潜在问题包括:删除的 API、弃用的包、内部 API 的使用、对类加载程序的更改,以及对垃圾回收的更改。
通常,解决方法是尝试在不重新编译的情况下在 Java 11 上运行。
升级后可以使用更多新特性和更好的 GC 性能,所以建议升级到 JDK11。
你发任你发,我用 Java 8 :)
Oracle JDK 下载
jdk-8u201/jdk-8u202系列是在Binary Code License (“BCL”)许可协议下提供最后的免费商业版本,允许用在生产环境中。
Oracle将奇数版本作为BUG修正并全部通过检验的版本,Oracle官方建议用在生产环境最好使用这个版本。
国内华为镜像:Index of java-local/jdk
JDK 11 或 JDK 17 这两个 LTS 版本下载
Open JDK 下载
国内华为镜像:Index of openjdk-local
微软镜像:下载 OpenJDK 的 Microsoft Build
大多数应用程序在不修改的情况下应该可以在 Java 11 上运行。
首先要尝试的是在不重新编译代码的情况下在 Java 11 上运行,直接运行的目的是查看执行时会出现哪些警告和错误。
此方法可以让应用程序在 Java 11 上更快地运行,因为可以尽量减少那些必须完成的关注事项。
你可能会遇到的大多数问题都可以得到解决,无需重新编译代码。 如果需要在代码中修复问题,请进行修复,但继续使用 JDK 8 进行编译。