2010-03-09 26 views
20

Ho problemi a comprendere il controllo delle versioni di Java. Vedo molte versioni come 1.4.2, 1.5 e 1.6, ma incappo anche su 5.0 e 6.0. Non capisco questo controllo delle versioni o la progressione.Versioning e terminologia Java, 1.6 vs 6.0 OpenJDK vs Sun

Sono abbastanza nuovo in Java, e ho letto un po 'su OpenJDK vs Sun, e penso di capirlo. Queste versioni sono la differenza tra OpenJDK e Sun? Ad esempio, l'ultimo di OpenJDK è 1.6 e Sun's è 6.0?

Tutte queste versioni sono piuttosto confuse per qualcuno di nuovo in Java.

+1

Fondamentalmente java passò da 1.0 a 1.1, a 1.2 ecc. E poi Sun decise di cambiare la convenzione di denominazione in 5, 6 anziché 1.5, 1.6, ma non si bloccò mai, anche la versione riportata da 'java -version' non segue la nuova convenzione. – Yishai

+0

Rilevante https://bugs.openjdk.java.net/browse/JDK-8061493 – Braiam

risposta

18

Il controllo delle versioni è semplicemente un pasticcio:

  • Java 1.0 e 1.1 erano normali
  • Poi venne Java 1.2, ma si dovevano chiamarlo "Java 2, JDK 1.2"
  • Ciò è continuato fino all'1.4 (c'erano anche versioni minori come 1.4.2)
  • La versione successiva era quindi "Java 5.0", ma c'era ancora "1.5" dappertutto nei nomi e negli URL dei file.
  • A partire da Java 6, hanno abbandonato la versione secondaria e principalmente (ma non completamente, vedere l'output di java -version) ha eliminato le tracce del vecchio schema di versioning, ma le persone si sono abituate e continuano ad usarlo colloquialmente.
+0

ya su snow leopard 'java -version' mi dà" 1.6.0_17 " che è davvero ciò che ha causato tutta la mia confusione perché ho letto tutto su 6.0 – brad

+0

E 'davvero un casino. Grazie per le informazioni Michael e Pascal. Sto imparando Java per lo sviluppo Android e ha dolori così crescenti. – racl101

+0

Anche le versioni secondarie non sono chiare. A volte vedi build x o update y. Immagino build == aggiornamento? – Ryan

2
  • Java 1.5.x è la stessa di Java 5.x
  • Java 1.6.x è la stessa di Java 6.x

Fondamentalmente buttare via la parte 1. del numero di versione .

+0

e quindi non c'è differenza tra openjdk e sole ?? per quanto riguarda il controllo delle versioni? – brad

+1

Sono abbastanza sicuro che non ci sia mai stato qualcosa chiamato Java 4. Il passaggio a numeri di versione "completi" è iniziato con 5. –

+0

@Michael Borgwardt, hai ragione, corretto. – Glen

1

Both 1.6 and 6 are used per fare riferimento alla stessa versione (e allo stesso modo per 1.5 e 5).

+0

grazie per quel collegamento, stavo cercando in giro, ma non riuscivo a trovare esattamente quello! – brad

0

L'unica differenza è il numero di una cifra di solito vengono utilizzati in combinazione con Java SE 5 e 6. Java EE

Le versioni 1.5 e 1.6 sono ciò che il compilatore Java dice usando java -version e talvolta 'il minor release 'è usato come una stringa di versione, come SunOS 5.8 è stato chiamato Solaris 8 come nome del prodotto.

14

Questo è spiegato (tosse) in Java SE Naming and Versions:

La versione attuale è Java Platform, Standard Edition 6 (Java SE 6). La versione precedente di era Java 2 Platform, Standard Edition 5.0 (J2SE 5.0).

Sun Microsystems semplificato il nome piattaforma nel 2006 per meglio riflettere il livello di maturità, stabilità, scalabilità e sicurezza integrato nella piattaforma Java. Sun lasciato cadere il "2" dal nome e cancellato il "numero di punto" (il numero dopo il periodo).Eventuali aggiornamenti alle piattaforme Java verranno semplicemente indicati come aggiornamenti anziché aggiungere un "numero " alla fine del nome della piattaforma .

Grazie alla popolarità significativo all'interno la comunità di sviluppatori Java, il kit di sviluppo è ritornato di nuovo al il nome "JDK" da "Java 2 SDK" (o "J2SDK"). L'ambiente di runtime ha ripristinato su "JRE" da "J2RE". (Si noti che "JDK" sta per "J2SE Development Kit" nella versione 5.0.)

Per ulteriori informazioni sui nomi di piattaforma e numeri di versione, vedere le seguenti pagine:

E citando Java SE 6 Platform Name and Version Numbers:

In questa versione, il nome della piattaforma è cambiato da J2SE TM a Java TM SE. Il nome ufficiale è Java TM Platform, Standard Edition 6.

Entrambi i numeri di versione (1.6.0 e 6) sono utilizzati per identificare questa versione della piattaforma Java. La versione 6 è la versione del prodotto , mentre la versione 1.6.0 è la versione dello sviluppatore . Il numero 6 viene utilizzato per riflettere il livello in evoluzione di maturità, stabilità, scalabilità e sicurezza di Java SE.

E J2SE Version 1.5.0 or 5.0?:

Entrambe le versioni numeri "1.5.0" e "5.0" sono utilizzati per identificare questa versione della piattaforma Java 2 Standard Edition. La versione "5.0" è la versione del prodotto , mentre "1.5.0" è la versione dello sviluppatore . Il numero "5.0" viene utilizzato per riflettere meglio il livello di maturità, stabilità, scalabilità e sicurezza di J2SE.

Il numero "5.0" è stato raggiunto eliminando il primo "1". da "1.5.0". Dove potresti aspettarti di vedere 1.5.0, ora è 5.0 (e dove era 1.5, ora è 5).

Quindi, per riassumere, l'intera denominazione è un pasticcio, ma questo è finally over e l'attuale nome piattaforma è Java TM Platform, Standard Edition 6 (abbrev. Java TM SE 6). Due prodotti vengono consegnati sotto la piattaforma: JDK TM 6 e JRE TM 6.

OpenJDK 6 è un'implementazione open source della piattaforma Java SE 6, è diversa da quella di Sun JDK.

+1

E direi che ora possiamo tornare indietro in modo chiaro e inequivocabile a Java 1, Java 2, Java 3, Java 4 e Java 5, essendo java.version 1.0.x/1.1.x, 1.2.x, 1.3.x, 1.4.x, 1.5.0, rispettivamente. –

+0

Finalmente finito? Vediamo per quanto tempo riescono ad attenervisi questa volta ... –

+0

Sì, hanno rimosso questo insano 2 in J2SE così * questa * follia è finalmente finita. –