JDK Alfa e Beta (1995)
Java Alpha e Beta sono state le prime versioni, ma hanno API e ABI altamente instabili. Il browser Web Java fornito si chiamava WebRunner.
JDK 1.0 (23 gennaio 1996)
È stata la prima versione stabile di Java. Il suo nome in codice era Quercia .La prima versione stabile di JDK era JDK 1.0.2 e si chiamava Java 1.
Fino a JDK 1.0.1, le parole chiave private e protette potevano essere utilizzate insieme per creare un'altra forma di protezione che fungeva da restrizione ai metodi o alle variabili principalmente alle sottoclassi di una determinata classe. In JDK 1.0.2, questa funzionalità è stata rimossa.
JDK 1.1 (19 febbraio 1997)
Alcune aggiunte sono state incluse in questa versione. cioè.
- Il concetto di classe interiore
- JavaBean
- JDBC
- RMI
- Il modello degli eventi AWT è stato completamente rimodellato.
- Reflection (che supportava solo l'introspezione, la modifica non era possibile in fase di runtime).
- Compilatore JIT(Just In Time) su piattaforme Microsoft Windows, prodotto per JavaSoft da Symantec
- Internazionalizzazione e supporto Unicode provenienti da Taligent.
J2SE 1.2 (8 dicembre 1998)
Il suo nome in codice era Terreno di gioco . La prima volta fu chiamato J2SE (piattaforma Java 2, edizione standard) .Ha sostituito JDK per riconoscere la piattaforma base J2EE (piattaforma Java 2, edizione Enterprise) e J2ME (piattaforma Java 2, edizione Micro) È stata una versione Java molto importante in quanto ha triplicato le dimensioni della piattaforma Java portandola a 1520 classi in 59 pacchetti.
Alcune aggiunte sono state incluse in questa versione. cioè.
cosa è autowired in Java
- Plug-in Java
- Java IDL, un'implementazione IDL per l'interoperabilità CORBA
- Quadro delle collezioni
- l'API grafica Swing è stata integrata nelle classi principali
- La JVM di Sun è stata dotata per la prima volta di un compilatore JIT
J2SE 1.3 (8 maggio 2000)
Il suo nome in codice era Gheppio . Alcune aggiunte sono state incluse in questa versione. cioè.
- JVM HotSpot inclusa.
- RMI è stato modificato per supportare la compatibilità opzionale con CORBA.
- JNDI (interfaccia di denominazione e directory Java).
- Java Platform Debugger Architecture (JPDA) incluso.
- JavaSound.
- Classi proxy sintetiche.
J2SE 1.4 (6 febbraio 2002)
Il suo nome in codice era Merlino . È stata la prima piattaforma Java rilasciata nell'ambito del Java Community Process.
Alcune aggiunte sono state incluse in questa versione. cioè.
- Biblioteche migliorate.
- Espressioni regolari Perl incluse.
- Concatenamento delle eccezioni fornito (consente a un'eccezione di incapsulare l'eccezione originale di livello inferiore).
- Supporto IPv6 (Protocollo Internet versione 6).
- API di registrazione (specificata in JSR 47.)
- API I/O immagine per leggere e scrivere immagini in formati come JPEG e PNG.
- Parser XML e processore XSLT integrati.
- Estensioni di sicurezza e crittografia (JCE, JSSE, JAAS) integrate.
Il supporto e gli aggiornamenti di sicurezza per Java 1.4 sono terminati nell'ottobre 2008.
J2SE 5.0 (30 settembre 2004)
Il suo nome in codice era Tiger. Originariamente era numerato 1.5, che è ancora utilizzato come numero di versione interna. Pertanto, è stato modificato in 5.0 per 'riflettere meglio il livello di maturità, stabilità, scalabilità e sicurezza di J2SE'. Anche questo processo è stato rilasciato nell'ambito del Java Community Process.
Il supporto e gli aggiornamenti di sicurezza per Java 5.0 sono terminati il 3 novembre 2009, ma gli aggiornamenti erano disponibili per i clienti Oracle a pagamento fino a maggio 2015.
J2SE 5.0 ha aggiunto alcune nuove funzionalità linguistiche significative:
- Fornisce l'indipendenza dai tipi (statica) in fase di compilazione per le raccolte ed elimina la necessità della maggior parte dei typecast.
- Metadati o annotazioni utilizzati.
- Autoboxing/unboxing.
- Enumerazioni.
- Migliorato per ogni ciclo.
- Semantica di esecuzione migliorata per programmi Java multi-thread.
- Importazioni statiche.
Sono stati inoltre apportati alcuni miglioramenti alle librerie standard:
list vs impostato in Java
- Generazione automatica di stub per oggetti RMI.
- Swing: ha fornito un aspetto sottile.
- Le utilità di concorrenza nel pacchetto java.util.concurrent.
- Classe scanner per l'analisi dei dati da vari flussi di input e buffer.
Java 5 è stata l'ultima versione di Java a supportare ufficialmente la linea Microsoft Windows 9x (Windows 95, Windows 98, Windows ME).
Windows Vista è stata l'ultima versione di Windows supportata da J2SE 5 prima della sua scadenza nell'ottobre 2009.
Java 5.0 è la versione predefinita di Java installata su Apple Mac OS X 10.5 (Leopard). È possibile installare Java 6
Java SE 6 (11 dicembre 2006)
Il suo nome in codice era Mustang . Dopo il rilascio di questa versione, Java ha sostituito il nome J2SE con Java SE ed ha eliminato .0 dal numero di versione.
Alcune aggiunte sono state incluse in questa versione. cioè.- Eliminato il supporto per le versioni precedenti di Win9x.
- Supporto del linguaggio di scripting.
- API generica per una stretta integrazione con i linguaggi di scripting.
- Supporto del servizio Web migliorato.
- Supporto JDBC 4.0.
- Utilizzare un'API del compilatore Java per richiamare un compilatore Java a livello di codice.
Dopo il rilascio di Java 6, Sun ha rilasciato numerosi aggiornamenti per correggere i bug.
java mvc
Java SE 7 (28 luglio 2011)
Il suo nome in codice era Dolphin. È stato lanciato il 7 luglio 2011 ma è stato reso disponibile per gli sviluppatori il 28 luglio 2011.
Alcune aggiunte sono state incluse in questa versione. cioè.
- Supporto JVM per linguaggi dinamici.
- Puntatore compresso a 64 bit.
- Stringhe aggiunte in switch.
- Gestione automatica delle risorse nell'istruzione try.
- I caratteri di sottolineatura sono consentiti nei valori letterali numerici.
- Letterali interi binari.
- Interfaccia di tipo migliorata per la creazione di istanze generiche. (chiamato anche operatore diamante)
- Miglioramento della presa e del lancio. (intercetta più eccezioni e rilancia con un controllo del tipo migliorato)
- Set di regole di distribuzione Java forniti.
Era la versione predefinita da scaricare su java.com da aprile 2012 fino al rilascio di Java 8.
Java SE 8 (18 marzo 2014)
Il suo nome in codice era Ragno . Tuttavia, i nomi in codice sono stati interrotti, ma il nome in codice Ragno è comune tra gli sviluppatori Java.
Include alcune funzionalità proposte per Java SE 7 ma aggiunte in Java SE 8.
- Supporto a livello di linguaggio per le espressioni Lambda.
- Consentito agli sviluppatori di incorporare codice JavaScript all'interno delle applicazioni.
- Annotazione dei tipi Java.
- API di data e ora fornita.
- Annotazioni ripetute.
- Lancio di applicazioni JavaFX.
- Rimozione della generazione permanente.
Java SE 8 non è supportato in Windows XP ma dopo l'aggiornamento 25 di JDK 8, possiamo installarlo ed eseguirlo su Windows XP.
Java 8 è impostato come versione predefinita da scaricare da java.com a partire da ottobre 2014.
Java SE 9 (21 settembre 2017)
Nel 2016, Oracle ha discusso alcune funzionalità da rilasciare in Java 9. Si sperava che Java 9 includesse un migliore supporto per heap multi-gigabyte, una migliore integrazione del codice nativo, un diverso garbage collector predefinito e una JVM con auto-ottimizzazione. Il rilascio di Java 9 è stato posticipato più volte e alla fine è stato rilasciato il 21 settembre 2017.
coda e coda prioritaria in Java
Include alcune funzionalità specifiche:
- Modularizzazione del JDK nell'ambito del progetto Jigsaw.
- API di denaro e valuta fornita.
- Stretta integrazione con JavaFX.
- Implementazione Java di flussi reattivi.
- Altri aggiornamenti sulla concorrenza.
- Linker Java fornito.
- Ridimensionamento e dimensionamento automatici.
Java SE 10 (20 marzo 2018)
Java SE 10 è stato rilasciato per rimuovere tipi di dati primitivi e spostarsi verso array indirizzabili a 64 bit per supportare set di dati di grandi dimensioni. È stato rilasciato il 20 marzo 2018, con dodici nuove funzionalità confermate. Queste caratteristiche sono:
- Inferenza di tipo variabile locale
- Compilatore JIT sperimentale basato su Java Questa è l'integrazione del compilatore dinamico Graal per la piattaforma Linux x64
- Condivisione dei dati delle classi dell'applicazione Consente di inserire le classi dell'applicazione nell'archivio condiviso per ridurre l'avvio e l'ingombro delle applicazioni Java
- Versioni di rilascio basate sul tempo
- GC completo parallelo per G1
- Interfaccia Garbage Collector
- Estensioni aggiuntive dei tag di lingua Unicode
- Certificati radice
- Handshake thread-local
- Allocazione dell'heap su dispositivi di memoria alternativi
- Rimuovi lo strumento di generazione dell'intestazione nativa - javah
- Consolida la foresta JDK in un unico repository
JavaSE11
Attualmente è aperto per la correzione di bug.