Differenze tra JDK e Java SDK


85

C'è qualche differenza sostanziale tra questi due termini ?. Capisco che JDK sta per Java Development Kit che è un sottoinsieme di SDK (Software Development Kit). Ma specificando Java SDK, dovrebbe avere lo stesso significato di JDK.

Risposte:


97

Da questa voce di wikipedia :

Il JDK è un sottoinsieme di ciò che è vagamente definito come un kit di sviluppo software (SDK) in senso generale. Nelle descrizioni che accompagnano i loro recenti rilasci per Java SE, EE e ME, Sun riconosce che sotto la loro terminologia, il JDK forma il sottoinsieme dell'SDK che è responsabile della scrittura e dell'esecuzione dei programmi Java. Il resto dell'SDK è composto da software aggiuntivo, come server delle applicazioni, debugger e documentazione.

Il "software extra" sembra essere Glassfish, MySQL e NetBeans. Questa pagina offre un confronto tra i vari pacchetti che puoi ottenere per Java EE SDK.


L'SDK contiene (!) Nel suo pacchetto - il "pacchetto" JDK?
Royi Namir

Il JRE è contenuto nel JDK, sì. JDK è un kit di sviluppo software (SDK).
jamesh

34

Sì, c'è una differenza tra l'SDK e il JDK. La maggior parte delle persone dimentica che Java Platform non viene utilizzata solo per sviluppare programmi in linguaggio Java. La JVM supporta anche alcune altre lingue. Quindi, chiarendo, l'SDK è il pacchetto generico di software che supporta la creazione di software in una varietà di linguaggi come Clojure, Groovy, Scala, JRuby e altri. Il JDK è il bundle specifico per sviluppare software in linguaggio Java, contenente tutte le API standard Java per farlo. (Spero di averlo spiegato bene, dato che in realtà non parlo inglese)


27

JDK è l'SDK per Java.

SDK sta per "Software Development Kit", uno strumento per sviluppatori che consente di scrivere il codice con maggiore facilità, efficacia ed efficienza. Gli SDK sono disponibili per varie lingue. Forniscono molte API (Application Programming Interfaces) che semplificano il lavoro del programmatore.

inserisci qui la descrizione dell'immagine

L'SDK per Java è chiamato JDK, Java Development Kit. Quindi dicendo SDK per Java ti riferisci effettivamente a JDK.

Supponendo che tu sia nuovo in Java, c'è un altro termine che incontrerai: JRE, l'acronimo di Java Runtime Environment. JRE è qualcosa di cui hai bisogno quando provi a eseguire programmi software scritti in Java.

Java è un linguaggio indipendente dalla piattaforma. JRE esegue la JVM, la Java Virtual Machine, che consente di eseguire il software su qualsiasi piattaforma per cui è disponibile la JVM.


1
Si prega di chiarire dove si inserisce JRE nel diagramma?
vikramvi

JRE si trova bene all'interno del JDK o può essere autonomo a seconda di cosa stai facendo. È il runtime, quindi quando si crea un'applicazione viene inserita nel JDK, ma quando si esegue solo l'applicazione è autonoma, nel qual caso questo diagramma non ha molto senso.
raj240

Sei sicuro che jdk sia l'SDK di java? Considerando java se, potrebbe essere vero ma per java ee e java me, ho visto solo gli SDK forniti da Oracle. Allora, ne sei davvero sicuro?
user12208242

l'immagine sta parlando con me :)
mohammad

5

Tratto dal programma di installazione di Java EE 6 SDK, mostra cosa contiene SDK 6 oltre a JDK:

Cosa contiene SDK 6, oltre a JDK


3

A Sun piace cambiare i nomi delle cose senza una ragione apparente. Guarda i tre diversi schemi di numerazione per SunOS / Solaris, oi due schemi di numerazione per Java. È Java 1.6, Java 2 versione 6 o Java 6?


3

JDK (Java Development Kit) è un SDK (Software Dev Kit).

Viene utilizzato per creare software / applicazioni su Java e, naturalmente, include JRE (Java Runtime Edition) per eseguire quel software. Se vuoi solo eseguire un'applicazione Java, scarica solo JRE.

A proposito, Java EE (Enterprise Edition) contiene librerie di pacchetti di classi "con metodi (funzioni)" per costruire app per l'ambiente WEB e Java ME (Micro Edition) per dispositivi mobili. Se ti interessa (Java ME), ti consiglio di dare un'occhiata a Android DevKit e API di Google.

Dai un'occhiata qui: spiegherà un po 'di più .. http://www.oracle.com/technetwork/java/archive-139210.html


2

Il JDK viene fornito con una raccolta di strumenti utilizzati per lo sviluppo e l'esecuzione di programmi Java ,

Loro includono:

  1. appletviewer (per visualizzare applet Java)

  2. javac (compilatore Java)

  3. java (interprete Java)

  4. javap (Java disassemblatore)

  5. javah (per file di intestazione C)

  6. javadoc (per creare documenti HTML)

  7. jdb (debugger Java)

Considerando che l'SDK viene fornito con molti altri strumenti, inclusi gli strumenti disponibili in JDK.

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


1

Non c'è differenza tra JDK e Java SDK. Entrambi significano la stessa cosa. Penso che Sun abbia deciso di passare da JDK a Java SDK. Penso che sia tornato a JDK per ora.


1

Dal mio punto di vista non c'è differenza tra JDK e SDK in java. Possiamo trovare tutti gli strumenti di sviluppo e le strutture in entrambi. è solo un alias fornito da sun.


1

Il miglior esempio per questa domanda, SDK - Software Development Kit - Ex: Netbeans JDK - Java Development Kit. (Questo è il compilatore Java). Senza JDK, non siamo in grado di eseguire programmi Java in SDK.


1

Non c'è differenza.

Il Java Software Development Kit (Java SDK) era chiamato Java Development Kit (JDK) prima che il reparto marketing di Sun impazzisse con "tm" e terminologia. Per ragioni politiche e per ragioni di sanità mentale, chiamano i nomi significativi (jdk) e le versioni (1.2 / 1.3 / 1.4 1.5 / 1.6) termini "ingegneristici". I termini di marketing sono "piattaforma Java2" (alias jdk da 1.2 a 1.4) o Java5 (alias jdk 1.5) o Java6 (alias jdk1.6). Mi viene il mal di testa solo a pensarci.


0

Penso che jdk abbia alcune funzionalità che possono essere utilizzate insieme a un framework particolare. Chiamalo SDK nel suo insieme.

Come Android o Blackberry, entrambi usano java insieme al loro framework.


-1

La mia ipotesi iniziale sarebbe che Java SDK sia per la creazione di JVM mentre JDK sia per la creazione di app per JVM.

Modifica: anche se al momento sembra non essere corretto. Sun è in procinto di aprire la JVM (forse hanno anche finito, ora), quindi non sarei troppo sorpreso se la mia risposta diventasse corretta ... Ma al momento, SDK e JDK sono la stessa cosa.


Scusa cosa intendi per costruire la JVM?
Juan Carlos Blanco Martínez

Le applicazioni Java vengono eseguite all'interno della Java Virtual Machine. Parte del JRE che viene aperto al pubblico, quindi un SDK Java sarebbe utile per le persone per creare JRE per le loro piattaforme.
Oli

Non ho capito, da dove hai preso questa dichiarazione (un Java SDK sarebbe utile per le persone a creare JRE per le loro piattaforme)? Penso che o non ti capisco o che non sia l'obiettivo di Java SDK. Java SDK è formato da JRE e da alcuni strumenti come Javac, javap, javadoc ...
Juan Carlos Blanco Martínez

-1

Ci sono due prodotti JavaSE e JavaEE. EE è l'applicazione web / edizione enterprise che consente lo sviluppo e l'esecuzione di applicazioni web. SE è il semplice prodotto Java che non contiene specifiche EE, ma è un sottoinsieme di EE. L'SE è disponibile in due tipi un JDK e un JRE.

C'è una grande differenza che potrebbe non essere ovvia, e non sono sicuro che si applichi a tutti i sistemi operativi, ma sotto Windows il JRE non ha il server HotSpot JVM, solo quello client, il JDK ha entrambi e per quanto So che tutti gli altri sistemi operativi hanno sia JDK che JRE. La vera differenza è che il JDK contiene il compilatore Java, ovvero il JDK permette di compilare ed eseguire Java da codice sorgente dove come JRE permette solo l'esecuzione di codice byte Java, cioè Source che è già stato compilato. E sì, le versioni più recenti raggruppano una serie di componenti extra, come l'ambiente dell'editor NetBeans e il database Java in memoria (derby / cloudscape), ma questi sono opzionali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.