2012-06-01 1 views
37

Ich gehe 7 Java zu lernen und haben einige der Forschung getan, aber scheinen nicht, diese Fragen eindeutig zu beantworten, wenn Sie diese Frage beantworten könnte oder mir helfen, es ein wenig aus wird sehr geschätzt:Java JDK, SDK, SE?


  • Ist Java 7 nur Java SE 7? und Java 6 ist Java SE 6?
  • Ist Java SE 7 auch Java JDK 7? und was ist das JDK?
  • Bedeutet dies, dass das Java-JDK dasselbe ist wie die Java-Nummer (Java SE 7)?
  • Was ist Java 1.5 und 1.6? und wie stimmt das mit der Java-Nummer überein (Java SE ...)?
  • Ist Java SDK das gleiche wie das JDK?

Wenn ich das alles falsch habe, sag es mir bitte. Danke, jack

Antwort

64

Ja, es kann verwirrend sein.

Sie haben nicht danach gefragt, aber ich werde von hier aus beginnen. Die JVM ist die Java Virtual Machine. Es ist ein Programm, das kompilierten Java-Code lesen kann (die .class-Dateien und die .jar-Dateien, die einfach .zip-Dateien sind, die eine Reihe von .class-Dateien enthalten) und diese ausführen. Es gibt viele JVMs, zum Beispiel benötigen Sie eine JVM für Windows, eine für Linux, eine für OSX usw. Aber es gibt auch viele alternative JVMs, JVMs für Embedded-Geräte usw. (viele werden nicht zustimmen und sagen, dass die JVM nur eine ist), und es ist eine Spezifikation.Allerdings sagt ein Systemadministrator gewöhnlich "die JVM", um die tatsächliche Binärdatei anzuzeigen, die auf dem Server läuft.

Sie haben auch nicht nach dem folgenden gefragt. Die JRE ist die Java-Laufzeitumgebung. Es enthält alles, was benötigt wird, um eine Java-Anwendung, das ist die JVM selbst, die Standard-Bibliothek und eine Reihe anderer Dateien. Die Standardbibliothek selbst ist sehr wichtig, da sie viele nützliche Dinge enthält, die Sie bei der Entwicklung von Java-Anwendungen verwenden werden. Es enthält all die Sachen in Java. * Pakete und einige private Sachen in com.sun, com.oracle Paketen.

Verschiedene Versionen von Java (1.0, 1.1 usw. bis 1.7, auch bekannt als Java 7) enthalten normalerweise Verbesserungen sowohl an der JVM als auch an der Standardbibliothek, so dass die beiden normalerweise zusammen ausgeführt werden müssen in der JRE zusammen verpackt.

Wenn Sie ein Java-Programm auf Ihrem Computer ausführen, haben Sie eine JRE installiert.

Das JDK ist das Java Development Kit. Es enthält die JRE sowie viele andere nützliche Sachen für entwickelnden Java-Anwendungen.Dazu gehören offensichtlich der Compiler (der aus gutem Grund ebenfalls in der JRE enthalten ist, aber Sie können diesen Umstand jetzt ignorieren), das JAR-Dienstprogramm zum Erstellen von JAR-Dateien, viele Tools zum "Dekompilieren" von Klassendateien, Inspizieren von .jar-Dateien, Repackage sie usw.

Sie enthalten normalerweise auch Dokumentation für die Standardbibliothek und auch alle Quellen der Standardbibliothek, weil sie für Entwickler zum Lesen und Überprüfen nützlich sind. Wenn Sie ernsthaft Java-Anwendungen entwickeln möchten, benötigen Sie das JDK.

Bei JavaSE, JavaEE, JavaME usw. handelt es sich um sogenannte "Editionen". Im Grunde genommen, da das Java-Ökosystem sehr groß ist, entschied ich Sun Java in verschiedenen Editionen zu bieten:

  • JavaSE: ist die Standard-Ausgabe, es ist in der Regel eine gute Passform für die Client-seitige Software, normale Anwendungen usw.
  • JavaME: ist die mobile Version, mit der kleine Spiele auf alten Telefonen hergestellt wurden, aber es ist im Grunde eine "kleinere" Version von Java, die für Prozessoren mit sehr geringer Kapazität geeignet ist.
  • JavaEE: ist die "Enterprise Edition". Es wird verwendet, um Server-seitiges Zeug zu entwickeln, also enthält es viele Bibliotheken, die auf der Serverseite verwendet werden.

In Bezug auf die Nummerierung haben sie es ziemlich vermasselt. Eigentlich haben sie nach Java 1.4 den JCP erstellt, um die Community in die Entwicklung von Java einzubeziehen, und beginnend mit Java 1.5 wird sie offiziell "Java 5" genannt, obwohl die meisten in der Branche sie 1.5 nennen. Außerdem war Java 1.2 Java 2, aber alle, die ich kenne, waren nicht working in Sun at that time always called it 1.2.

+0

Wenn Sie Java herunterladen (sagen wir Java 7), kommt es mit der JVM. –

+0

Ja, die JVM ist eine der Komponenten der JRE. Das JDK enthält auch die JRE. Also ja, du wirst auch die JVM haben. Eigentlich "die JVM" (wie hier beabsichtigt, nicht die JVM-Spezifikation, die eigentliche binäre) ist das "java.exe" -Programm und es sind DLLs, die Sie sehen, wenn Sie ein Java-Programm (oder den Java-Befehl und damit verwandte .so wenn Sie sind) unter * nix oder osx) –

+1

Vielen Dank, es hat wirklich viel erklärt :) –

2

Antwort 1: SE steht für Standard Edition. Es ist meistens wie für jede JRE, die heutzutage in der Standard Edition ist, also können Sie Java 7 und Java SE 7 als dasselbe verwenden.

Antwort 2: JDK steht für Java Development Toolkit. Java SE ist die Technologie und JDK ist der Satz von Tools für die Entwicklung in dieser Technologie.

Antwort 3: Technisch ja. Sie werden wahrscheinlich "JDK 1.6" neben "Java 6", "JDK 1.7" neben "Java 7" und so weiter sehen.

Antwort 4: Wie 3, denke ich.

Antwort 5: Javas Software Development Kit entspricht dem Java Development Kit, also ja.

könnten Dieses Diagramm helfen:

http://www.oracle.com/technetwork/java/javase/tech/index.html

+0

Java SE steht für Standard Edition (im Gegensatz zu EE oder Enterprise Edition), nicht für die zweite Ausgabe. – bobmcn

+0

Ich habe es schon auf die Änderungen gesetzt, aber danke für's Bemerken. –

1

SE = Standardausgabe, Standardversion von Java, mit dem Namen oft nur java X. Die andere Version EE ist, um Komponenten orientiert mehr.

JDK = Java-Entwicklungskit, dies ist eine Teilmenge der SDK, die Sie verwenden, um Java-App zu entwickeln, ist ein Framework.

Die Versionsnummer hat 1.7 heißt Java 7. Und Sie können beide SE-Version oder SDK dieser Version erhalten.

Auf jeden Fall können Sie die ganzen Informationen bei Wikipedia finden

10

Sind Java 7 nur Java SE 7? und Java 6 ist Java SE 6?

Ja.

Es gibt ein paar Java "Editionen", nämlich Java SE, die "Standard Edition", Java EE, die "Enterprise Edition" und Java ME, die "Micro Edition".

"Java N" wo N ist eine Zahl bezieht sich auf die SE. Für Java EE gibt es separate Editionsnummern, die jetzt auf Version 6 laufen. Java ME hat auch eigene Versionen - es ist derzeit auf Version 3. Java ME ist für mobile und kleine Geräte gedacht.

Java EE ist eine Sammlung von Bibliotheken und Schnittstellen wie EJB, JMS, JNDI, Servlets/JSPs, die auf der Java SE aufbauen.

Ist Java SE 7 auch Java JDK 7? und was ist das JDK?

JDK = Java Entwicklungskit. Wenn Sie Java herunterladen, erhalten Sie entweder die JRE (Java Runtime Environment), mit der Sie nur bereits kompilierte Java-Anwendungen ausführen können, oder Sie erhalten das JDK, mit dem Sie Java-Anwendungen kompilieren und ausführen können. Java SE 7 bezieht sich sowohl auf das JDK als auch auf die JRE.

Bedeutet dies, dass das Java JDK dasselbe ist wie die Java Nummer (Java SE 7)?

Ja.

Was ist Java 1.5 und 1.6? und wie stimmt das mit der Java-Nummer überein (Java SE ...)?

Die Nummerierung der Sonne für Java hat sich Midstream geändert und ist etwas verwirrend. Sie gingen von 1,0 auf 1,1 und dann auf 1,2. Dann beschlossen sie, 1.2 "Java 2" zu nennen und dieses Label dauerte bis Java 1.4. Dann wurde Java 5 sowohl 1.5 als auch 5.0 genannt und das hat sich fortgesetzt - Java 7 ist auch Java 1.7, Java 6 ist auch Java 1.6, etc.

Ist das SDK von Java dasselbe wie das JDK?

Ja.

+1

Der Name Java2, der auf jedes Java-Release von Version 1.2 bis Java 1.4.2 angewendet wurde. –

+0

@Mark - guter Punkt. Ich habe meine Antwort ein wenig aktualisiert, um zu klären. – quux00