【发布时间】:2014-03-05 10:31:06
【问题描述】:
我想在 jdk1.6 上运行一个 jdk1.4 编译的 jar。 会不会有什么不妥。 JVM是前向兼容的,所以我认为不会有问题。 是真的吗。
【问题讨论】:
-
是的,应该没有任何问题。你试过了吗?只有反过来是不可能的。
-
如果你改变了代码的运行方式,你应该总是重新测试你的代码。
-
向后兼容,不向前兼容
我想在 jdk1.6 上运行一个 jdk1.4 编译的 jar。 会不会有什么不妥。 JVM是前向兼容的,所以我认为不会有问题。 是真的吗。
【问题讨论】:
对于 Java 字节码,编译后的代码应该向后兼容不断增加的 JRE 版本。这意味着通常,v6 JVM 应该能够运行使用 v4 JDK 编译的代码。 (虽然 JRE 是向后兼容的,但 Java 编译器是向前兼容的,即 v4 源代码应该可以由 v6 编译器编译。)
但是,当代码在 v6 JRE 上运行时,您可能会遇到编译 v4 代码所针对的库的问题。您可以在 webpage 上找到从 v4 到 v6 的 API 更改概述。
【讨论】: