1. ホーム
  2. java

[解決済み] 技術的にOracle JDKとOpenJDKの主な違いは何ですか?重複

2022-05-15 09:02:21

質問

私は昔からOpenJDKを使用しており、当初は問題のない小さなプロジェクトのために使用していました。しかし、大きなおもちゃのためにそれを使い始めてから、ランダム/未知の致命的なエラーとクラッシュ (H.264 コーデックなど) に気づき始め、それまでは OpenJDK が原因のシステム クラッシュおよび致命的なエラーを取り除くのは悪夢でした。

OpenJDK に完全に苛立ちと疲れを覚えた後、私はついに Oracle JDK 7 に乗り換えることにしました。それ以来、私の致命的なエラーやクラッシュはなくなりました。私はまだ、それが発生するかどうかを確認するためにトレースを行っていますが、私はまだそれらのシステム クラッシュを得たことはありません。

OpenJDK がライセンスの問題だけであるなら、なぜ安定性が保てないのでしょうか?

なぜOpenJDKは安定したリリースの中で、バグを生かし続けているのか、しかしOracle JDKのクローンであると主張している(実際にはそうではない)、では何が本当に技術的にOracle JDKとOpenJDKを分けているのか?(迅速な機能の利用可能性だけ?あるいは安定性と信頼性に焦点を当てた?)

どのように解決するのか?

技術的な違いは、それぞれの目的の結果です(OpenJDKはコミュニティに開かれたリファレンス実装であることを意図しており、Oracleは商用であることを意図しています)。

両者とも Java API のクラスのコードはほぼ同じですが、仮想マシン自体のコードは実は異なっており、ライブラリに関して言えば、OpenJDK はオープンライブラリを使用する傾向があり、Oracle はクローズドライブラリを使用する傾向がある、といった具合です。 はフォントライブラリ .