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