2008-10-03 14 views

Antwort

80

Von diesen wikipedia entry:

Das JDK ist eine Teilmenge von dem, was lose als Software Development Kit (SDK) im allgemeinen Sinne definiert ist. In den Beschreibungen, die den jüngsten Veröffentlichungen für Java SE, EE und ME beigefügt sind, erkennt Sun an, dass das JDK in seiner Terminologie die Teilmenge des SDK bildet, das für das Schreiben und Ausführen von Java-Programmen zuständig ist. Der Rest des SDK besteht aus zusätzlicher Software wie Anwendungsservern, Debuggern und Dokumentation.

Die "Extra-Software" scheint Glassfish, MySQL und NetBeans zu sein. This page gibt einen Vergleich der verschiedenen Pakete, die Sie für das Java EE SDK erhalten können.

+0

Enthält SDK (!) In seinem Paket - das JDK- "Paket"? –

+0

Die JRE ist im JDK enthalten, ja. Das JDK ist ein Software Development Kit (SDK). – jamesh

-1

Meine erste Vermutung wäre, dass das Java SDK zum Erstellen der JVM, während das JDK zum Erstellen von Anwendungen für der JVM ist.

Edit: Dies scheint im Moment nicht korrekt zu sein. Sun ist gerade dabei, die JVM zu opensourcen (vielleicht sind sie jetzt sogar fertig), also wäre ich nicht allzu überrascht, wenn meine Antwort richtig wäre ... Aber im Moment sind SDK und JDK dasselbe.

+0

Entschuldigung, was meinst du mit dem Bau der JVM? –

+0

Java-Anwendungen werden in der Java Virtual Machine ausgeführt. Ein Teil der JRE, der für die Öffentlichkeit zugänglich gemacht wird, also wäre ein Java SDK nützlich, um JREs für ihre Plattformen zu erstellen. – Oli

+0

Entschuldigung, wo haben Sie diese Aussage (ein Java SDK wäre nützlich für Leute, um JREs für ihre Plattformen zu bauen) von? Ich denke, entweder verstehe ich dich nicht oder das ist nicht das Ziel des Java SDK. Java SDK wird von der JRE und einigen Werkzeugen wie Javac, javap, javadoc ... gebildet. –

1

Es gibt keinen Unterschied zwischen JDK und Java SDK. Beide bedeuten dasselbe. Ich denke, es war eine PR-Entscheidung bei Sun, von JDK auf Java SDK umzusteigen. Ich denke für jetzt an JDK zurück.

2

Sun mag nur die Namen der Dinge ohne ersichtlichen Grund ändern. Sehen Sie sich die drei verschiedenen Nummerierungsschemata für SunOS/Solaris oder die beiden Nummerierungsschemas für Java an. Ist Java 1.6, Java 2 Version 6 oder Java 6?

1

Also, warum gibt es diese zwei verschiedenen Links (SDK und JDK), um sie herunterzuladen?

+0

Die erste ist für Java Standard Edition (JavaSE), die andere ist die Enterprise Edition (JavaEE). Sie sind zwei verschiedene Produkte. – agnul

-1

Es gibt zwei Produkte, JavaSE und JavaEE. EE ist die Web Application/Enterprise Edition, die die Entwicklung und den Betrieb von Webanwendungen ermöglicht. SE ist das Plain-Java-Produkt, das keine EE-Spezifikationen enthält, aber eine Untermenge von EE ist. Die SE kommt in zwei Typen ein JDK und eine JRE.

Es gibt einen großen Unterschied, der nicht offensichtlich ist, und ich bin mir nicht sicher, ob es für alle Betriebssysteme gilt, aber unter Windows hat JRE nicht den Server HotSpot JVM, nur den Client, das JDK hat beides, und soweit ich weiß haben alle anderen Betriebssysteme sowohl für das JDK als auch für das JRE. Der wirkliche Unterschied ist, dass das JDK den Java-Compiler enthält, dh das JDK erlaubt das Kompilieren und Ausführen von Java aus Quellcode, wobei JRE nur das Ausführen von Java-Byte-Code erlaubt, also Source, die bereits kompiliert wurde. Und ja neuere Versionen bündeln eine Reihe von zusätzlichen Komponenten, wie NetBeans Editor-Umgebung und Java im Speicher Database (Derby/Cloudscape), aber diese sind optional.

+1

Bitte lesen Sie noch einmal die Frage. Es geht nicht um JDK und JRE. –

1

Aus meiner Sicht gibt es keinen Unterschied zwischen JDK und SDK in Java. Wir können alle Entwicklungswerkzeuge sowie Einrichtungen in beiden finden. es ist nur ein Alias ​​von der Sonne zur Verfügung gestellt.

+0

nichts neues im Vergleich zu früheren Antworten, gibt es ;-) – kleopatra

1

Bestes Beispiel für diese Frage, SDK - Software Development Kit - Ex: Netbeans JDK - Java-Entwicklungskit. (Dies ist Java-Compiler).Ohne JDK können wir keine Java-Programme im SDK ausführen.

3

Das JDK (Java Development Kit) ist ein SDK (Software Dev Kit).

Es wird verwendet, um Software/Anwendungen auf Java zu bauen, und natürlich enthält es die JRE (Java Runtime Edition), um diese Software auszuführen. Wenn Sie nur eine Java-Anwendung ausführen möchten, laden Sie nur die JRE herunter.

Übrigens enthält Java EE (Enterprise Edition) Bibliotheken von Paketen von Klassen "mit Methoden (Funktionen)", um Anwendungen für die WEB-Umgebung und Java ME (Micro Edition) für mobile Geräte zu erstellen. Wenn Sie daran interessiert sind (Java ME), würde ich empfehlen, sich die Android DevKit und API von Google anzuschauen.

Werfen Sie einen Blick hier: es erklären ist gonna etwas mehr .. http://www.oracle.com/technetwork/java/archive-139210.html

1

Das JDK kommt mit einer Sammlung von Werkzeugen, die für die Entwicklung und Ausführung von Java-Programmen verwendet werden,

Dazu gehören:

  1. applet (für Java-Applets sehen)

  2. javac (Java-Compiler)

  3. Java (Java-Interpreter)

  4. javap (Java Disassembler)

  5. javah (für C-Header-Dateien)

  6. javadoc (für HTML-Dokumente zu schaffen)

  7. jdb (Java - Debugger)

Während das SDK mit vielen anderen Tools einschließlich der Tools in JDKs kommt.

http://parvindersingh.webs.com/apps/forums/topics/show/8853125-solved-java-difference-between-jdk-and-sdk-

+0

Dieser Link ist entweder tot oder falsch. – Mat

0

Ich denke, jdk bestimmte Merkmale aufweist, die zusammen mit bestimmten Rahmen verwendet werden kann. Nennen Sie es SDK als Ganzes.

Wie Android oder Blackberry verwenden beide Java zusammen mit ihrem Framework.

0

Es gibt keinen Unterschied.

Das Java Software Development Kit (Java SDK) wurde früher Java Development Kit (JDK) genannt, bevor die Marketingabteilung von Sun mit der "tm" und der Terminologie verrückt wurde. Aus politischen Gründen & für die Vernunft nennen sie die sinnvollen Namen (jdk) & Versionen (1.2/1.3/1.4 1.5/1.6) "Engineering" -Begriffe. Die Marketingbegriffe sind "Java2-Plattform" (alias jdk 1.2 bis 1.4) oder Java5 (alias jdk 1.5) oder Java6 (alias jdk1.6). Ich bekomme Kopfschmerzen, wenn ich nur daran denke.

20

Ja, es gibt einen Unterschied zwischen dem SDK und dem JDK. Die meisten Menschen vergessen, dass Java Platform nicht nur zur Entwicklung von Programmen in Java verwendet wird.Die JVM unterstützt auch einige andere Sprachen. Somit ist das SDK das generische Softwarepaket, das die Erstellung von Software in einer Vielzahl von Sprachen wie Clojure, Groovy, Scala, JRuby und anderen unterstützt. Das JDK ist das spezifische Paket zur Entwicklung von Software in Java mit allen Java-Standard-API. (ich hoffe, ich habe es gut explaned, da ich Englisch nicht wirklich sprechen)

4

aus der Java EE 6 SDK Installer genommen, zeigt, was SDK 6 enthält neben JDK:

What SDK 6 contains, besides JDK

7

JDK ist das SDK für Java.

SDK steht für "Software Development Kit", ein Entwicklerwerkzeug, mit dem man den Code einfacher, effektiver und effizienter schreiben kann. SDKs sind für verschiedene Sprachen verfügbar. Sie bieten eine Vielzahl von APIs (Application Programming Interfaces), die die Arbeit des Programmierers erleichtern.

enter image description here

Das SDK für Java wird als JDK, das Java Development Kit genannt. Mit SDK für Java beziehen Sie sich tatsächlich auf das JDK.

Angenommen, Sie sind neu in Java, gibt es einen anderen Begriff, auf den Sie stoßen werden - JRE, das Akronym für Java Runtime Environment. JRE ist etwas, das Sie benötigen, wenn Sie versuchen, in Java geschriebene Softwareprogramme auszuführen.

Java ist eine plattformunabhängige Sprache. Die JRE führt die JVM, die Java Virtual Machine, aus, mit der Sie die Software auf jeder Plattform ausführen können, für die die JVM verfügbar ist.

+1

Bitte klären Sie, wo JRE in Ihr Diagramm passt? – vikramvi