一尘不染

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

java

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

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

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

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


阅读 196

收藏
2020-09-08

共1个答案

一尘不染

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

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

2020-09-08