我使用OpenJDK已有很长时间了,最初是用于没有问题的小型项目。但是,由于我开始使用它处理大型玩具,所以我开始注意到随机/未知的致命错误和崩溃(使用H.264编解码器等),直到那时,系统崩溃和致命错误才成为噩梦由OpenJDK引起。
在对OpenJDK感到完全沮丧和厌倦之后,我最终决定切换到Oracle JDK7。从那以后,我的致命错误/崩溃就消失了。我仍在进行跟踪以查看是否发生,但是我还没有得到那些系统崩溃的消息。
现在我想知道,如果OpenJDK仅是一个许可证问题,为什么它不可能保持稳定性?
为什么OpenJDK会在其稳定的发行版中将bug保留下来,却声称它是Oracle JDK的克隆(不是真的),那么从技术上讲,是什么真正将OpenJDK与Oracle JDK分开了?(仅快速提供功能?还是专注于稳定性/可靠性?)
技术差异是每个目标的结果(OpenJDK是对社区开放的参考实现,而Oracle是商业化的目标)
它们都具有与Java API中的类几乎“相同”的代码。但是虚拟机本身的代码实际上是不同的,在库方面,OpenJDK倾向于使用开放库,而Oracle倾向于使用封闭库。例如, 字体库。