Java SE 6対JRE 1.6対JDK 1.6-これらはどういう意味ですか?


178

さまざまなJava用語が浮かんでいます。JDK 1.6をインストールする必要があります。Java 6 == Java 1.6であることが私の理解でした。しかし、Java SE 6をインストールすると、バージョン11.0としてレポートするJVMが表示されます。誰が狂気を解決できますか?


12
AAすてきありますJavaの概念図あまりにも助けることができます(クリック可能なリンクでは)。
informatik01

回答:


55

「java -version」と入力すると、3つのバージョン番号が表示されます1.6.0_07。Javaのバージョン(私の場合は「」)、Java SEランタイム環境のバージョン(「ビルド1.6.0_07-b06」)、およびHotSpotのバージョン(私の場合は「」build 10.0-b23, mixed mode")です。 。表示されている「11.0」がHotSpotバージョンであると思います。

更新:HotSpotは、Java仮想マシンに組み込まれているジャストインタイムコンパイラーです(または、以前はVM全体を意味するように使用されていたようです)。神は、Sunがなぜそれを別個のバージョン番号を与えるのかを知っているだけです。


7
では、JVM 1.6とJVM 11.0の違いは何ですか?ホットスポットとは何ですか?
ジョーシュナイダー、

ありがとう、それは混乱でした-2つの異なるバージョン番号。
Joe Schneider、

1
実際、HotSpotはJITではありません。JITは、コンパイルが実行前に行われることを意味します。HotSpotは、プログラムの選択された部分をコンパイル/最適化する前に、最初に解釈を使用してコードを実行および分析します。
John Nilsson、

173
  • JDK-Java開発キット
  • JRE-Javaランタイム環境
  • Java SE-Java Standard Edition

SEは一連の機能と機能を定義します。より複雑なエディション(Enterprise Edition – EE)とより単純なエディション(Micro Edition – ME –モバイル環境用)があります。

JDKには、Javaアプリケーションの開発に必要なコンパイラとその他のツールが含まれています。JREはサポートしていません。したがって、他の誰かが提供するJavaアプリケーションを実行するには、JREが必要です。Javaアプリケーションを開発するには、JDKが必要です。

編集:Chris Marasti-Georgがコメントで指摘したように、SunのJava Webサイト、特にJava SEセクション(2番目のオプション、Java SE Development Kit(JDK)6 Update 10)から多くの情報を見つけることができます。。


編集済み2011-04-06: 世界は変わり、Javaは現在Sunを買収したOracleによって管理されています。今年後半には、sun.comドメインが暗くなることになっています。新しいページ(リダイレクトに基づく)は、Oracle Tech NetworkのこのJavaページです。(java.comも参照してください。)


編集済み2013-01-11:そして、世界は変わり続け(2012-12-21にもかかわらず)、見事に、JRE 6はサポートの終わりに近づきつつあります。 オラクルは、2013年2月以降、Java 6のパブリックアップデートはないと述べています

Javaの特定のバージョン内では、この回答は引き続き有効です。JDKはJava開発キット、JREはJavaランタイム環境、Java SEは標準版などです。しかし、バージョン6(1.6)は古くなっています。

Edited 2015-04-29:そして、太陽の周りでさらに2、3の革命が起こり、Java SE 7のサポートが終了する時が来ました。2015年4月、オラクル Java SE 7のパブリックアップデートを提供しなくなったことを確認しました。JavaSE 8のパブリックアップデートの暫定的な終了は2017年3月ですが、その終了日は変更される可能性があります(それ以降ではありません)。


1
JDK 1.6が必要な場合、何をインストールすればよいですか?Java SE 6をインストールすると、バージョン11.0としてレポートするJVMが得られます。
ジョーシュナイダー、

1
太陽の下に行き、JDK 1.6または6をダウンロードする必要があります。
Chris Marasti-Georg、

内部バージョン番号の違いにもかかわらず、Java SE 6に付属しているものは正しいJDKであるはずです。
ジョナサンレフラー、

java.sun.com/javase/downloads/index.jsp 2番目のオプション、Java SE開発キット(JDK)6 Update 10
Chris Marasti-Georg

1
@Pacerier:2008年10月にそれは本当でしたか?また、JDKの主要コンポーネントはJavaコンパイラですよね。
ジョナサンレフラー

103

これは誰かを助けるかもしれません:

私のシステムには開発用の最新のJavaをインストールしています。現在はJava SE 7です。さて、この「狂気」に飛び込んでみましょう...

これらはすべて同じです(開発者が開発についてJavaについて話している場合)。

  • Java SE 7
  • Java SE v1.7.0
  • Java SE開発キット7

Java v1.5以降:

  • v5 = v1.5。
  • v6 = v1.6。
  • v7 = v1.7。

そして、これは将来のバージョンでも残ると想定できます。

次に、開発者向けに、JREではなくJDKをダウンロードします。

JDKにはJREが含まれます。JDKとJREが必要な場合は、JDKを入手してください。以下に示すように、どちらも単一のJDKインストールからインストールされます。

上記の誰かが述べたように:

  • JDK = Java開発キット(開発者がこれを必要とします。これは、Javaでコーディングする場合のあなたです)
  • JRE = Javaランタイム環境(ユーザーはこれを必要とします。これは今日のすべてのコンピューターユーザーです)
  • Java SE = Java Standard Edition

以下は、開発用Java(JDK)をダウンロードするために私がたどった段階的なリンクです(1つのステップで次のステップに進み、これはすべて1回のダウンロードです)。

  1. 「Java SEダウンロード」にアクセスしてくださいhttp : //www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 「JDKダウンロード」をクリックし、「Java SE Development Kit 7 Downloads」にアクセスしてください。http//www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html(注意手順#1のリンクをたどると、別のリンクに移動します。これは、JDK 1.7のアップデート(以降のバージョン)がリリースされているためです)
  3. 同意する:)
  4. 「Java SE Development Kit 7(Windows x64)」をクリックします。http//download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe(私の64ビットWindows 7の場合)システム)
  5. あなたのシステムに(できれば最新の)JDKをダウンロードしています!:)

上記のリンクは参照用であり、JDKのダウンロードに必要な手順を段階的に示していることに注意してください。

そして、デフォルト設定でインストールしてください:

  • 「C:\ Program Files \ Java \ jdk1.7.0 \」(JDK)
  • 「C:\ Program Files \ Java \ jre7 \」(JRE)<---なぜ新しいインストールフォルダを要求したのですか?JREです。

上記から、JDKにはJREが含まれていることを覚えておいてください。再度、上記を参照してください。

インストール後、「C:\ Program Files \ Java」を再確認して、これらの両方のフォルダーを確認します。これで、それらが何であり、なぜそこにあるのかがわかります。

初心者のためにこれを書いたことは知っていますが、詳細を知るのは楽しいので、これが役に立てば幸いです。


8
この回答は
増やす

私は最近、他のインストーラーの1つを実行するためにjreをインストールする必要があり、他のインストーラーの1つを機能させるために32ビットバージョンをインストールする必要がありました。その最後に使用しているバージョンはGlassfish 4で、まだjavax.persistenceを提供していないようです。それから、私はmavenを必要とすることがわかりました。これを解凍して、いくつかの環境変数を設定します。なんてめちゃくちゃ!
JonnyRaa 2013年

Java SEとJava SDKは同じパッケージであるように思えます。
galmok 2014年

20

Javaバージョンの簡単で​​おそらく誤った履歴

  • Javaはプラットフォームです。これは、ソフトウェア開発キットとランタイム環境の2つの製品で構成されています。

  • Javaが最初にリリースされたとき、それは明らかにJavaと呼ばれていました。あなたが開発者であれば、バージョンも知っていました。これは通常の「1.0」であり、後に「1.1」でした。プラットフォームの一部である2つの製品にも名前が付けられました。

    • JDK-「Java開発キット」
    • JRE-「Javaランタイム環境」
  • どうやらバージョン1.2の変更は非常に重要で、プラットフォームをJava 2として呼び出し始めました。

    • プラットフォームのデフォルトの「配布」には、兄弟と比較するためのモニカ「標準」が与えられました。したがって、3つのプラットフォームがありました。

      • 「Java 2 Standard Edition(J2SE)」
      • 「Java 2 Enterprise Edition(J2EE)」
      • 「Java 2 Mobile Edition(J2ME)」
    • JDKは正式に「Java 2 Software Development Kit」に名前が変更されました。

  • バージョン1.5が出たとき、訴訟は製品を「ブランド変更」する必要があると決定しました。したがって、Javaプラットフォームには、製品バージョン「5」と開発者バージョン「1.5」の2つのバージョンがありました(はい、ルールは明示的に言及されています-「1をドロップします」)。ただし、「2」はそのため、このプラットフォームは正式に「Java 2 Platform Standard Edition 5.0(J2SE 5.0)」と呼ばれています。

    • 訴訟はまた、開発コミュニティがJDKの名前の変更を受け入れていないことにも気づきました。ただし、変更を元に戻すのではなく、個々の製品の名前から「2」を削除することを決定しました。これは、「J2SE Development Kit 5.0(JDK 5.0)」および「J2SE Runtime Environment 5.0(JRE 5.0)」になります。
  • バージョン1.6がリリースされたとき、名前に2つの数字が含まれているのは変だと気づいた人がいました。そのため、2(および「.0」接尾辞)を完全に削除することを決定し、「Java SE Development Kit 6(JDK 6)」を含む「Java Platform、Standard Edition 6(Java SE 6)」になります。および「Java SEランタイム環境6(JRE 6)」

  • バージョン1.7は愚かなことをしませんでした。私が推測しなければならない場合、次の大きな変更は「SE」を削除することになるため、サイクルが完了し、JDKが再び「Java開発キット」と呼ばれるようになります。

ノート

  • 簡単にするために、商標記号の束は省略されました。したがって、Java™、JDK™、およびJRE™を想定します。

  • SOはネストされたリストのレンダリングに問題があるようです。

参考文献

エピローグ

「1」をドロップするだけです。で印刷されたバージョンからjavac -versionjava -versionあなたがしている良い行くと。


3
聖なる牛。Microsoftだけがクレイジーなホームレスの人々に製品名を作ってもらいました。
Stabledog、2015年

2
それは狂気です。毎回明示的に調べなくては、これらを理解することはできませんでした。
Preet Sangha 2016


3

Java SEランタイムはエンドユーザー向けであるため、Java JREバージョンが必要です。Javaの最初のバージョンは1、次に1.1-1.2-1.3-1.4-1.5-1.6などでした。通常、各バージョンはバージョンごとに名前が付けられているため、JRE 6はJavaを意味しますjre 1.6、とにかくアップデートバージョンがあります。たとえば、java jre 6u45という名前の1.6アップデート45です。

私が知っていることから、成熟度、安定性、スケーラビリティ、セキュリティなどのレベルをより適切に反映するために、1.6ではなく6を使用することを好んだ

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