Java SE 6 vs. JRE 1.6 vs. JDK 1.6 - Was bedeuten diese?

178

Ich sehe viele verschiedene Java-Begriffe. Ich muss das JDK 1.6 installieren. Nach meinem Verständnis war Java 6 == Java 1.6. Wenn ich jedoch Java SE 6 installiere, erhalte ich eine JVM, die als Version 11.0 gemeldet wird! Wer kann den Wahnsinn lösen?

Joe Schneider
quelle
12
Es gibt ein schönes Java Conceptual Diagram (mit anklickbaren Links), das ebenfalls helfen kann.
informatik01

Antworten:

55

Wenn Sie "java -version" eingeben, werden drei Versionsnummern angezeigt - die Java-Version (bei mir ist das " 1.6.0_07"), die Java SE Runtime Environment-Version ("build 1.6.0_07-b06") und die HotSpot-Version (bei mir ist das " build 10.0-b23, mixed mode") " ). Ich vermute, dass die "11.0", die Sie sehen, die HotSpot-Version ist.

Update: HotSpot ist (oder war früher die gesamte VM) der Just-in-Time-Compiler, der in die Java Virtual Machine integriert ist. Gott weiß nur, warum Sun ihm eine separate Versionsnummer gibt.

Paul Tomblin
quelle
7
Was ist der Unterschied zwischen JVM 1.6 und JVM 11.0? Was ist ein Hotspot?
Joe Schneider
Danke, das war die Verwirrung - zwei verschiedene Versionsnummern.
Joe Schneider
1
Eigentlich ist HotSpot kein JIT. JIT impliziert, dass die Kompilierung vor der Ausführung erfolgt. HotSpot verwendet zuerst die Interpretation, um den Code auszuführen und zu analysieren, bevor ausgewählte Teile des Programms kompiliert / optimiert werden.
John Nilsson
173
  • JDK - Java Development Kit
  • JRE - Java-Laufzeitumgebung
  • Java SE - Java Standard Edition

SE definiert eine Reihe von Fähigkeiten und Funktionalitäten; Es gibt komplexere Editionen (Enterprise Edition - EE) und einfachere (Micro Edition - ME - für mobile Umgebungen).

Das JDK enthält den Compiler und andere Tools, die zum Entwickeln von Java-Anwendungen erforderlich sind. JRE nicht. Um eine Java-Anwendung auszuführen, die von einer anderen Person bereitgestellt wird, benötigen Sie JRE. Um eine Java-Anwendung zu entwickeln, benötigen Sie JDK.

Bearbeitet : Wie Chris Marasti-Georg in einem Kommentar hervorhob, finden Sie viele Informationen auf der Java -Website von Sun , insbesondere im Abschnitt Java SE (2. Option, Java SE Development Kit (JDK) 6, Update 10). .


Bearbeitet am 06.04.2011: Die Welt dreht sich und Java wird jetzt von Oracle verwaltet, das Sun gekauft hat. Später in diesem Jahr soll die sun.comDomain dunkel werden. Die neue Seite (basierend auf einer Weiterleitung) ist diese Java- Seite im Oracle Tech Network. (Siehe auch java.com .)


Bearbeitet am 11.01.2013: Und die Welt dreht sich weiter (ungeachtet des 21.12.2012), und siehe da, JRE 6 steht kurz vor dem Ende seiner Unterstützung. Laut Oracle gibt es nach Februar 2013 keine öffentlichen Updates für Java 6 mehr.

Innerhalb einer bestimmten Java-Version bleibt diese Antwort gültig. JDK ist das Java Development Kit, JRE ist die Java Runtime Environment, Java SE ist die Standard Edition und so weiter. Aber die Version 6 (1.6) wird veraltet.

Bearbeitet am 29.04.2015: Und mit ein paar weiteren Umdrehungen um die Sonne ist es auch an der Zeit, die Unterstützung für Java SE 7 zu beenden. Im April 2015 bestätigte Oracle, dass keine öffentlichen Updates für Java SE 7 mehr bereitgestellt werden. Das vorläufige Ende der öffentlichen Updates für Java SE 8 ist März 2017, das Enddatum kann sich jedoch ändern (später, nicht früher).

Jonathan Leffler
quelle
1
Was installiere ich, wenn ich JDK 1.6 benötige? Durch die Installation von Java SE 6 erhalte ich eine JVM, die als Version 11.0 gemeldet wird!
Joe Schneider
1
Sie müssen zur Sonne gehen und JDK 1.6 oder 6 herunterladen, unabhängig davon, wie sie aufgeführt sind.
Chris Marasti-Georg
Ich glaube, dass das, was mit Java SE 6 geliefert wird, trotz interner Unterschiede in der Versionsnummer das richtige JDK sein sollte.
Jonathan Leffler
java.sun.com/javase/downloads/index.jsp 2. Option, Java SE Development Kit (JDK) 6 Update 10
Chris Marasti-Georg
1
@ Pacerier: War das im Oktober 2008 wahr? Die Hauptkomponente des JDK ist auch der Java-Compiler, nicht wahr?
Jonathan Leffler
103

Dies könnte jemandem helfen:

Ich installiere das neueste Java auf meinem System für die Entwicklung, und derzeit ist es Java SE 7. Nun wollen wir in diesen "Wahnsinn" eintauchen, wie Sie es ausdrücken ...

Alle diese sind gleich (wenn Entwickler über Java für die Entwicklung sprechen):

  • Java SE 7
  • Java SE v1.7.0
  • Java SE Development Kit 7

Beginnend mit Java v1.5:

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

Und wir können davon ausgehen, dass dies auch für zukünftige Versionen so bleibt.

Laden Sie als Nächstes für Entwickler JDK herunter, nicht JRE.

JDK enthält JRE. Wenn Sie JDK und JRE benötigen, besorgen Sie sich JDK. Beide werden von der einzelnen JDK-Installation installiert, wie Sie unten sehen werden.

Wie oben erwähnt:

  • JDK = Java Development Kit (Entwickler benötigen dies, dies sind Sie, wenn Sie in Java codieren)
  • JRE = Java Runtime Environment (Benutzer benötigen dies, dies ist heute jeder Computerbenutzer)
  • Java SE = Java Standard Edition

Hier sind die Schritt-für-Schritt-Links, denen ich gefolgt bin (ein Schritt führt zum nächsten, dies ist alles für einen einzelnen Download), um Java für die Entwicklung (JDK) herunterzuladen:

  1. Besuchen Sie "Java SE Downloads": http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Klicken Sie auf "JDK Download" und besuchen Sie "Java SE Development Kit 7 Downloads": http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html (beachten Sie dies Wenn Sie dem Link aus Schritt 1 folgen, gelangen Sie zu einem anderen Link, da JDK 1.7-Updates (spätere Versionen) nicht mehr verfügbar sind.
  3. Vereinbarung akzeptieren :)
  4. Klicken Sie auf "Java SE Development Kit 7 (Windows x64)": http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-windows-x64.exe (für mein 64-Bit-Windows 7) System)
  5. Sie laden jetzt (hoffentlich das neueste) JDK für Ihr System herunter! :) :)

Beachten Sie, dass die oben genannten Links nur zu Referenzzwecken dienen, um Ihnen die schrittweise Methode zum Herunterladen des JDK zu zeigen.

Und installieren Sie mit Standardeinstellungen zu:

  • "C: \ Programme \ Java \ jdk1.7.0 \" (JDK)
  • "C: \ Programme \ Java \ jre7 \" (JRE) <--- Warum wurde ein neuer Installationsordner abgefragt? Es ist JRE!

Denken Sie von oben daran, dass JDK JRE enthält. Dies ist sinnvoll, wenn Sie wissen, was beide sind. Wieder siehe oben.

Überprüfen Sie nach der Installation "C: \ Programme \ Java", um beide Ordner anzuzeigen. Jetzt wissen Sie, was sie sind und warum sie dort sind.

Ich weiß, dass ich das für Neulinge geschrieben habe, aber ich genieße es, die Dinge im Detail zu kennen, also hoffe ich, dass dies hilft.

Xonatron
quelle
8
Diese Antwort muss gestoßen werden :)
Fchen
Ich musste kürzlich ein jre installieren, um eines der anderen Installationsprogramme auszuführen, und dann eine 32-Bit-Version installieren, damit eines der anderen Installationsprogramme funktioniert. Die Version, die ich am Ende verwende, ist Glassfish 4, die immer noch keine javax.persistence zu bieten scheint. Es stellte sich dann heraus, dass ich einen Maven brauchte, den Sie entpacken und dann einige Umgebungsvariablen festlegen. Was für ein Chaos!
JonnyRaa
Es scheint mir, dass Java SE und Java SDK ein und dasselbe Paket sind.
Galmok
20

Eine kurze und möglicherweise falsche Geschichte von Java-Versionen

  • Java ist eine Plattform. Es besteht aus zwei Produkten - dem Software Development Kit und der Laufzeitumgebung.

  • Als Java zum ersten Mal veröffentlicht wurde, hieß es anscheinend nur Java . Wenn Sie ein Entwickler waren, kannten Sie auch die Version, die eine normale "1.0" und später eine "1.1" war. Die beiden Produkte, die Teil der Plattform waren, erhielten ebenfalls Namen:

    • JDK - "Java Development Kit"
    • JRE - "Java Runtime Environment"
  • Anscheinend waren die Änderungen in Version 1.2 so bedeutend, dass sie die Plattform als Java 2 aufriefen .

    • Die Standard- "Distribution" der Plattform erhielt den Spitznamen "Standard", um sie ihren Geschwistern gegenüberzustellen. Sie hatten also drei Plattformen:

      • "Java 2 Standard Edition (J2SE)"
      • "Java 2 Enterprise Edition (J2EE)"
      • "Java 2 Mobile Edition (J2ME)"
    • Das JDK wurde offiziell in "Java 2 Software Development Kit" umbenannt.

  • Als Version 1.5 herauskam, entschieden die Anzüge, dass sie das Produkt "umbenennen" mussten. Die Java-Plattform erhielt also zwei Versionen - die Produktversion "5" und die Entwicklerversion "1.5" (Ja, die Regel wird ausdrücklich erwähnt - "Drop the '1'). Die" 2 "wurde jedoch in der beibehalten Die Plattform heißt jetzt offiziell "Java 2 Platform Standard Edition 5.0 (J2SE 5.0)" .

    • Die Anzüge stellten auch fest, dass die Entwicklergemeinde die Umbenennung des JDK nicht aufnahm. Anstatt ihre Änderung rückgängig zu machen, entfernen sie einfach die "2" aus dem Namen der einzelnen Produkte, die jetzt "J2SE Development Kit 5.0 (JDK 5.0)" und "J2SE Runtime Environment 5.0 (JRE 5.0)" sind .
  • Als Version 1.6 herauskam, wurde jemandem klar, dass es seltsam war, zwei Zahlen im Namen zu haben. Sie beschließen daher, die 2 (und das Suffix ".0") vollständig zu löschen, und am Ende erhalten wir die "Java Platform, Standard Edition 6 (Java SE 6)", die das "Java SE Development Kit 6 (JDK 6)" enthält. und die "Java SE Runtime Environment 6 (JRE 6)" .

  • Version 1.7 hat nichts Dummes getan. Wenn ich raten müsste, würde die nächste große Änderung darin bestehen, die "SE" zu löschen, so dass der Zyklus abgeschlossen ist und das JDK erneut als "Java Development Kit" bezeichnet wird.

Anmerkungen

  • Der Einfachheit halber wurden einige Markenzeichen weggelassen. Nehmen wir also Java ™, JDK ™ und JRE ™ an.

  • SO scheint Probleme beim Rendern verschachtelter Listen zu haben.

Verweise

Epilog

Lassen Sie einfach die "1" fallen. von Versionen gedruckt von javac -versionund java -versionund Sie können loslegen.

Manav
quelle
3
Heiliger Bimbam. Ich dachte, nur Microsoft hätte die verrückten Obdachlosen, die sich Produktnamen ausgedacht haben.
Stabledog
2
Es ist Wahnsinn. Ich habe diese nie nachvollziehen können, ohne sie jedes Mal explizit nachschlagen zu müssen.
Preet Sangha
4

Mit der Veröffentlichung von Java 5 wurde die Produktversion von der hier beschriebenen Entwicklerversion unterschieden

Toolkit
quelle
3

Java SE Runtime ist für Endbenutzer gedacht, daher benötigen Sie eine Java JRE-Version. Die erste Version von Java war die Version 1, dann 1.1 - 1.2 - 1.3 - 1.4 - 1.5 - 1.6 usw. und normalerweise wird jede Version nach Version benannt, sodass JRE 6 Java bedeutet jre 1.6, sowieso gibt es die Update-Version, zum Beispiel 1.6 Update 45, die Java jre 6u45 heißt.

Soweit ich weiß, haben sie es vorgezogen, die Zahl 6 anstelle von 1,6 zu verwenden, um den Reifegrad, die Stabilität, die Skalierbarkeit, die Sicherheit und mehr besser widerzuspiegeln

Mario
quelle