【发布时间】:2024-08-09 20:10:01
【问题描述】:
我需要对 JRE 做一点说明。向下兼容吗?我的意思是,如果我使用 java5 开发应用程序并且目标具有最新的 java6,我的应用程序是否能够运行?
【问题讨论】:
标签: java backwards-compatibility
我需要对 JRE 做一点说明。向下兼容吗?我的意思是,如果我使用 java5 开发应用程序并且目标具有最新的 java6,我的应用程序是否能够运行?
【问题讨论】:
标签: java backwards-compatibility
除非您使用的是 sun 文档 Compatibility 中列出的不兼容性
【讨论】:
是的,前提是您没有使用真的已弃用的旧 API(例如 v1.1 中已弃用的 API)...甚至可能在那时。
这就是 API。 字节码是绝对向前兼容的。它已被修改过几次,但始终以向前兼容的方式进行。所以用 JDK 1.4 编译的代码在最新版本中运行良好;但是使用最新版本编译的代码可能无法在旧版 JVM 上运行。
【讨论】:
是的 - Java 在这方面做得很好。
【讨论】:
我在 java backwards compatibility 写了这篇文章。
【讨论】:
生成的字节码可以在jvm 的未来版本中运行,但是编译器不向后兼容,因为使用更高版本生成的字节码不会在旧版本中运行。这是 Sun 网站上的好读物here
【讨论】: