如果我使用IBM JDK编译并运行Sun JRE,是否存在任何问题?

3

如果我使用IBM JDK进行编译,然后在Sun JRE上运行,是否会出现任何问题?假设我们使用相同的IBM和SUN主版本。


2
最佳实践是使用相同的JDK进行开发和部署。您可以在这里查看更多相关信息。 - ForguesR
1
相关链接:http://stackoverflow.com/a/8941293/1079354 - Makoto
1个回答

3
免责声明:我仅关注您的问题:
“如果我使用IBM JDK编译并在Sun JRE上运行是否会出现任何问题?”
简短回答:不会。
解释:
是的,“IBM的Java”和“Oracle的Java”之间存在重要差异,但在您的情况下,您只是生成字节码(编译),这是JVM规范中明确定义的内容之一。因此,如果字节码正确编译,则应在任何JVM中运行。
注意事项#1:我假设您仅使用IBM的编译器编译Java代码,而不是编译和测试运行IBM的Java可执行文件;如果是这样,那么是的,您会遇到问题,因为执行将无法产生相同的行为(一个JVM可能使用比另一个更多的内存等)。有关此主题的更多信息,请参阅@ForguesR和@Makoto在其各自评论中提供的链接。
注意事项#2:这并不意味着IBM的编译器一定会产生与Oracle的编译器相同的字节码。它只是意味着两者都会产生适合在任何JVM中执行的正确字节码。

注意事项3:我还假设编译器和JRE都有相同的库、依赖项等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接