UbuntuのこのページにあるJavaの5つのバージョンの違いは何ですか?


9

プログラムを開発できるように自分のコンピューターにJavaをインストールしたいのですが、UbuntuコミュニティのドキュメントでJavaに関するこのページを見つけました。それは言う:

JavaはOracle(旧称:Sun Microsystems)のテクノロジーです。いくつかの実装があり、そのうちの5つについてここで説明します。

  • OpenJDK:OpenJDKプロジェクトの主な目標は、Java SEプラットフォーム(6および7)のオープンソース実装を作成することです。これは、Ubuntuが使用するJavaのデフォルトバージョンであり、インストールが最も簡単です。
  • Oracle(Sun)Java 6:Oracle(Sun)Java 6は、Java 6のリファレンス実装です。
  • Oracle Java 7:Oracle Java 7はJava 7のリファレンス実装です。
  • IBM Java:IBM Javaは、PowerPCマシンで推奨されるJavaソリューションです。これは、Just-In-Timeコンパイラでの再実装です。IBMのWebサイトからのみ入手できます。
  • GNUコンパイラGNUによって作成されたJavaコンパイラ。これをインストールする必要があるのは開発者だけです。

私は内容を読みましたが、それでも少し混乱しています。それらはすべてJDKの異なるバージョンですか?そうでない場合、何ですか?

そして、あなたはどちらを好みますか?

回答:


6

それらはすべてJDKの異なるバージョンですか?そうでない場合、何ですか?

これらは、Java(JDK)のJava /開発キットの異なる実装です。Javaは標準プラットフォームであり、これらすべてが独自の方法でそのプラットフォームを実装します。これらの:

  • OpenJDKとGNUコンパイラーのみがオープンソースです。私は通常それらを好む-インストールの容易さ(apt-getまたはソフトウェアセンター)は大きな要因です。
    • 特にOpenJDKは、主にOracle / Sunがオープンソース化した「公式」のJavaソースコードから派生しています。これはOracleによってサポートされています。
  • Oracle Java 6および7は、Javaを発明した会社(Sunでしたが、Oracleがしばらく前に購入した会社)からの「the」Javaです。それが参照実装と呼ばれる理由です。別のプラットフォームでもOracle JDKを使用している場合、またはOpenJDKで問題が発生している場合は、これらを使用することをお勧めします。
    • 6と7は、言語/プラットフォームのバージョンを示します。7はより新しく、より多くの機能を備えていますが、テストは少なくなっています。6は非常に成熟していて安定しています。まだ始めたばかりなら6がいいです。
  • Wikiとは異なり、IBMはすべてのプラットフォーム用のJDK / JREを作成していますが、PowerPC用のJDK / JREは唯一のものかもしれません。

プログラミングを始める場合は、これらのほとんどすべてが適しています。インストールが簡単であるという理由だけでOpenJDKを選択してください。

これらを区別する唯一の経験は、低リソース環境(128-192MB RAM-VPS)でのコンパイルです。私は、Oracle Java 6 JDKが1つのプログラムに最適(つまり成功)であり、IBM Java 6 JDKが別のプログラムに最適であることがわかりました...


1
簡単な修正-Java 7の場合、参照実装はOracle JDKではなくOpenJDKです。そしてはい、IBMはオラクル(太陽の)Solrarisを除くすべての主要なプラットフォームの実装を持っています。
inteekt 2014

2

Java言語とランタイム環境は仕様です。このパッケージはすべて、同じ仕様の異なる実装です。

そして、ここでもっと読んでください:https : //stackoverflow.com/questions/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

通常、OracleのJDKと同じように機能しますが、オープンソースなのでopenJDKを使用する必要があります。したがって、ライセンスに関する問題は発生しません。詳細はhttp://openjdk.java.net/をご覧ください


1

それはそれぞれがページに何があるかを説明しますが、本質的にそれらはすべて異なるグループによって開発されたすべてのOrcaleのjavaです。

  • OpenJDKは、OracleのJavaエディションのオープンソース開発です。
  • Java 6および7は、OracleのJava標準版の単なるバージョンです。&は最新で、昨年6月または7月にリリースされたと思います。
  • IBMバージョンは主にPowerPCに使用されました。PowerPCプロセッサを使用している場合を除き、その状態はおそらくほとんど問題になりません。
  • GNUコンパイラは、Javaでコーディングしている開発者向けです。そのJava用のコンパイラです。これが何であるかがわからない場合は、Java開発について学びたいのでない限り、おそらく必要ありません。

私はOpenJDKを使用しています。これは、Minecraftでよりうまく機能するためです。他の理由はありません。

ビル


1

私の知る限り、openJDKはSun JDKとほとんど同じですが、主な違いはオープンソースであることです。PowerPCで制限されているため、PCユーザーの場合はIBM JDKを使用できません。gcjは、それはまだ未熟なようですので、私にとっては良い選択です。


0

これはおそらく多くのFLOSS関係者を怒らせますが、ここに私の短い答えを示します。

OracleはSunを買収し、Oracle(Sun)Java 6はOracle Java 7の古いバージョンに過ぎません。それ以外はすべて、Oracleが行った複製の試みであり、どれも優れたものではありません。

品質を損なう限り。GNU Javaは、私が今まで見た中で最悪のJVMの試みです。頻繁なクラッシュを楽しんでいない限り、使用しないでください。IBM Java-正直言ってOpenJDKを使用したことはないので、OpenJDKの意見はありません-JVMのオープンソース実装を使用する場合は、OpenJDKを使用して7.xバージョンを使用します。


0

FWIW、私はOracle / Sun Javaで他のどのバージョンよりも問題が少ない。ほとんどの場合、OpenJDKが機能します。私は、GNU Javaを動作させることはありません。IBM Javaは良さそうですが、私はそれについてあまり経験がありません。

WebUpd8teには、apt-getによるインストールを容易にするPPAがあります。ライセンスなど、別のバージョンを使用する理由がない限り、私はOracle Javaを使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.