一尘不染

从技术上讲,Oracle JDK和OpenJDK之间的主要区别是什么?

linux

我使用OpenJDK已有很长时间了,最​​初是用于没有问题的小型项目。但是,由于我开始使用它处理大型玩具,所以我开始注意到随机/未知的致命错误和崩溃(使用H.264编解码器等),直到那时,系统崩溃和致命错误才成为噩梦由OpenJDK引起。

在对OpenJDK感到完全沮丧和厌倦之后,我最终决定切换到Oracle
JDK7。从那以后,我的致命错误/崩溃就消失了。我仍在进行跟踪以查看是否发生,但是我还没有得到那些系统崩溃的消息。

现在我想知道,如果OpenJDK仅是一个许可证问题,为什么它不可能保持稳定性?

为什么OpenJDK会在其稳定的发行版中将bug保留下来,却声称它是Oracle
JDK的克隆(不是真的),那么从技术上讲,是什么真正将OpenJDK与Oracle JDK分开了?(仅快速提供功能?还是专注于稳定性/可靠性?)


阅读 451

收藏
2020-06-02

共1个答案

一尘不染

技术差异是每个目标的结果(OpenJDK是对社区开放的参考实现,而Oracle是商业化的目标)

它们都具有与Java
API中的类几乎“相同”的代码。但是虚拟机本身的代码实际上是不同的,在库方面,OpenJDK倾向于使用开放库,而Oracle倾向于使用封闭库。例如,
字体库

2020-06-02