Riepilogo delle differenze tra le versioni di Java? [chiuso]


14

Quali sono le principali differenze tra la versione Java in termini di sviluppo software? Dove è possibile trovare un riepilogo delle modifiche più importanti relative alla programmazione?

Le note di rilascio come http://www.oracle.com/technetwork/java/javase/releasenotes-136954.html possono essere difficili da leggere.

Ad esempio, esiste una nuova struttura di codice "per ciascuno" in Java 1.5.


1
Nella documentazione compilata Java da http://javadoc.allimant.org , troverai una novità? sezione del sommario. Una cronologia delle versioni di Java è disponibile su Wikipedia.
Axel Kemper,

Risposte:


94

Questo è un riassunto dell'eccellente articolo di Wikipedia sulla storia delle versioni di Java . È altamente selettivo (e distorto su ciò che conosco e uso), altrimenti sarebbe semplicemente una copia dell'articolo.

Le parti in grassetto sono ciò che ha davvero portato avanti la lingua nel suo insieme. Come vedi, non tutte le versioni hanno parti in grassetto.

Java 11

JSR 384 , novità

Cambiamenti di lingua:

Modifiche alla libreria:

Java 10

JSR 383 , novità

Cambiamenti di lingua:

Java 9

JSR 379 , novità

Cambiamenti di lingua:

Modifiche alla libreria:

  • Java Platform Module System (puzzle)
    • modularizzazione della piattaforma stessa
    • rende i moduli un cittadino di prima classe destinato a sostituire il percorso di classe disordinato con moduli con informazioni di dipendenza reali

Altre modifiche:

  • Le persone sembrano aver superato la convenzione di denominazione 1.x , quasi nessuno chiama questo "Java 1.9".

Java 8 (aka 1.8)

JSR 337 , novità

Cambiamenti di lingua:

  • espressioni lambda ( JSR 335 , include handle di metodo)
  • continuazione del progetto Coin (miglioramenti del linguaggio piccolo)
  • annotazioni su tipi Java

Modifiche alla libreria:

Java 7 (aka 1.7)

JSR 336 , caratteristiche e miglioramenti

Cambiamenti di lingua:

Modifiche alla libreria:

Modifiche alla piattaforma:

Java 6 (aka 1.6)

JSR 270 . caratteristiche e miglioramenti

Per lo più miglioramenti incrementali delle librerie esistenti, nessuna nuova funzionalità linguistica (tranne lo @Overridesnafu ).

Java 5 (aka 1.5)

JSR 176 , caratteristiche e miglioramenti

Cambiamenti di lingua:

  • generici (quello è quello grande)
  • annotazioni
  • enum tipi
  • varargs, migliorato per i loop (per-ciascuno)

Modifiche alla libreria:

  • utilità di concorrenza in java.util.concurrent

Java 1.4

JSR 59

Cambiamenti di lingua:

Modifiche alla libreria:

Java 1.3

Per lo più piccoli miglioramenti, davvero.

Modifiche alla piattaforma:

  • HotSpot JVM: miglioramento rispetto alla JIT originale

Java 1.2

Cambiamenti di lingua:

Modifiche alla libreria:

Cambiamenti di piattaforma

  • un vero JIT, migliorando notevolmente la velocità

Java 1.1

Cambiamenti di lingua:

  • classi interiori

Modifiche alla libreria:

  • Modifiche agli eventi AWT
  • JDBC, RMI
  • riflessione

Java 1.0

Versione iniziale, tutto è nuovo ;-)


2
La spiegazione del motivo per cui Java 6 ha avuto così pochi cambiamenti sembra essere alla pagina JSR 270 : sembra che all'epoca stessero sperimentando l'idea di rilasci basati sul tempo invece che su quelli basati sulle funzionalità : "l'obiettivo è quello di distribuire regolarmente i rilasci di funzionalità Ciclo di 18-24 mesi ... "
moscerino

@gnat: sembra giusto, ma la risposta è abbastanza completa, mi piacerebbe tenere altre informazioni come questa fuori dalla lista.
Joachim Sauer,

@JoachimSauer yup, la tua risposta suona bene senza questi dettagli "incorporati". Anche se ... probabilmente non farebbe male se si aggiungessero collegamenti ai rispettivi JSR ombrello per le versioni 1.4 e successive, ciò implicitamente lo coprirebbe, insieme a forse più dettagli
moscerino

1
Ehi Axel, per favore, non sentirti affatto male. Certamente diamo la colpa al web! Perché non possiamo ripubblicare il contet da Wikipedia qui su PE? Perché dobbiamo ricorrere per copiare e incollare? Perché non esiste alcun meccanismo per visualizzare i contenuti di Wikipedia in pE? IMO questo dovrebbe essere roba di base. Immagina che java 1.9 venga fuori cosa ne pensi. Quale pagina verrà aggiornata? Questa risposta è solo copia e incolla, i programmatori dovrebbero evitarlo, no?
AndreasScheinert,

1
@AndreasScheinert: il focus di Wikipedia è diverso da SE. L'articolo di Wikipedia completo sarebbe sicuramente troppe informazioni per questa domanda. Inoltre, penso che le licenze non consentano il copia e incolla del contenuto.
Joachim Sauer,
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.