如果我使用IBM JDK进行编译并使用Sun JRE运行,是否存在任何问题 假设我们使用相同的主要版本的IBM和SUN
答案 0 :(得分:3)
免责声明:我只关注你的问题:
如果我使用IBM JDK编译并使用Sun JRE运行,是否会出现任何问题?
简答:不。
说明:
是的," IBM的Java"和#34; Oracle的Java",但在你的情况下,你只是生成字节码(编译),而这是JVM specification中强烈指定的事情之一。因此,如果字节码被正确编译,那么它应该在任何JVM中运行。
CAVEAT#1:我假设你只是用IBM的编译器编译java代码,你不是在编译和测试运行IBM的java可执行文件;如果是,那么是的,你会遇到问题,因为执行不会表现相同(一个JVM可能会使用比另一个更多的内存,等等)更多关于这个主题的信息,请按照@提供的链接进行操作。 ForguesR和@Makoto在他们各自的评论中。
CAVEAT#2:并不意味着IBM的编译器必然会生成与Oracle的字节码相同的字节码。它只意味着两者都会生成适当的字节码,以便在任何JVM中执行。
CAVEAT#3:我还假设编译器和JRE都可以使用相同的库,依赖项等