【发布时间】:2014-10-16 12:28:39
【问题描述】:
如果我要使用 IBM JDK 编译并使用 Sun JRE 运行,是否有任何问题 假设我们使用相同的 IBM 和 SUN 主要版本
【问题讨论】:
-
最佳实践是使用相同的 JDK 进行开发和部署。您可以查看here 了解更多信息。
标签: java
如果我要使用 IBM JDK 编译并使用 Sun JRE 运行,是否有任何问题 假设我们使用相同的 IBM 和 SUN 主要版本
【问题讨论】:
标签: java
免责声明:我只关注您的问题:
如果我使用 IBM JDK 编译并使用 Sun JRE 运行,会有什么问题吗?
简短回答:不。
解释:
是的,“IBM 的 Java”和“Oracle 的 Java”之间存在重要区别,但在您的情况下,您只是生成字节码(编译),这是 JVM specification 中强烈指定的事情之一。因此,如果字节码被正确编译,那么它应该可以在任何 JVM 中运行。
CAVEAT #1:我假设您只使用 IBM 的编译器编译 java 代码,而不是编译和测试运行 IBM 的 java 可执行文件;如果是这样,那么是的,您会遇到问题,因为执行的行为会有所不同(一个 JVM 可能比另一个使用更多的内存,等等)有关此主题的更多信息,请遵循 @ForguesR 和 @Makoto 已经提供的链接在各自的 cmets 中。
CAVEAT #2:这并不意味着 IBM 的编译器必须生成与 Oracle 的编译器相同的字节码。这只是意味着两者都会生成正确的字节码以在任何 JVM 中执行。
CAVEAT #3:我还假设编译器和 JRE 都可以使用相同的库、依赖项等
【讨论】: