gpt4 book ai didi

java是向下兼容的,但是为什么jdk从1.6升级到1.8需要升级很多库呢?

转载 作者:搜寻专家 更新时间:2023-10-30 21:42:20 26 4
gpt4 key购买 nike

最近,我们在我的一个 Java 项目中将 Jdk 版本从 1.6 升级到 1.8。但是有一些编译或运行错误,所以我必须升级一些库:

  • gradle:1.91.10
  • spring:3.x4.x

那是因为他们使用的是一些早期版本的 ASM,但它仅支持 5.x

的 jdk 1.8

Java说是向后兼容,为什么原来版本的库不能直接和jdk 1.8兼容?

最佳答案

ASM 是一个非常低级的库。

它直接处理 Java 字节码(而“普通”应用程序只会让 JVM 加载它的类)。字节码格式不时发生变化,较旧的 JVM 无法使用较新的版本。

向后兼容性不包括对 JDK 或类格式内部的干扰。

这确实是一个边缘案例,ASM 几乎是唯一“流行”的例子。


但更重要(也更常见)的是系统库代码中的细微行为变化。因此,您的应用程序在技术上仍会运行,但会以不同的方式进行操作。大多数时候,您希望这样做,因为这意味着改进(例如更好的性能),但有时它可能会给您带来错误。

例如:


但总的来说,遗留应用程序兼容性故事与 Java 真的很好。他们必须让所有企业客户牢记这一点。

关于java是向下兼容的,但是为什么jdk从1.6升级到1.8需要升级很多库呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28228450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com