1. ホーム
  2. java

[解決済み] Oracle JDKとOpenJDKの違いについて

2022-03-20 17:54:47

質問

<ブロッククオート

注:この質問は2014年のものです。 Java 11の時点でOpenJDKとOracle JDKは収束しつつあります。

OracleとOpenJDKの間に決定的な違いはあるのでしょうか?

例えば、ガベージコレクションやその他のJVMパラメータは同じですか?

両者でGCの動作は違うのですか?

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

OpenJDKもOracle JDKも、現在はOracle社のみが作成・保守を行っています。

OpenJDKとOracle JDKは、TCK(Java Technology Certification Kit)に合格した、同じJava仕様の実装です。

JDKのほとんどのベンダーは、OpenJDKの上に、TCKの互換性を壊すことなく、[主にライセンスされた独自の部品を置き換える/特定のOSでのみ動作する、より高性能なものに置き換える]コンポーネントに少し手を加えて書いているのです。

多くのベンダーがJavaの仕様を実装し、TCKを通過させた。例えば、IBM J9、Azul Zulu、Azul Zing、Oracle JDKなどです。

既存のほぼすべてのJDKは、OpenJDKから派生したものです。

多くの人が示唆しているように、ライセンスはJDK間で変更されます。

JDK 11から、長年サポートされてきたOracle JDK/Java SEにアクセスするためには、商用ライセンスが必要になりました。商用ライセンスを持たないOracle JDKは動作しなくなる可能性があるため、どのJDKをインストールするのか注意が必要です。 ソース

参考 Java仮想マシンの一覧