Le nuove funzionalità di Java SE 10.

Le novità di Java SE 10 (e il nostro corso Java SE Latest Version)

Se state cercando un corso Java SE 10 siete nel posto giusto. Basta usare il modulo contatti o la pagina Contatti per avere, subito e senza impegno, informazioni sul corso Java SE Latest Version.

In questo articolo vi spiegheremo quali novità racchiude la release 10 di Java SE.

Il JDK 10

Java Development Kit (JDK) 10 è l’ultima versione dell’ambiente di sviluppo di Oracle per la creazione di applicazioni utilizzando Java SE, il famoso linguaggio di programmazione.

Dopo il rilascio (a lungo rinviato …) di Java 9 a settembre, Java 10 sembra mancare di cambiamenti rivoluzionari, sebbene ci siano alcune novità a cui gli sviluppatori saranno certamente interessati.

Quali sono le novità di Java 10?

Rilasciato nel marzo 2018, Java SE 10 arriva solo sei mesi dopo il suo predecessore, Java 9 (ma da ora in poi sarà sempre così …) e introduce miglioramenti sulle variabili locali, sul garbage collector e sulla compilazione.

Dopo l’attesa di ben tre anni per Java SE 9, Oracle si è impegnata a rilasciare una nuova versione ogni sei mesi. Per questo abbiamo dovuto definire un corso Java SE Latest Version, altrimenti ogni sei mesi diventava superato!

Tuttavia questa nuova frequenza di rilascio ha scatenato un nutrito dibattito tra gli utilizzatori di Java: alcuni preferiscono versioni meno frequenti con modifiche più significative mentre altri preferiscono la stabilità di aggiornamenti più regolari e frequenti.

Molto probabilmente le software house preferiranno la nuova frequenza di rilascio. La nostra azienda, infatti, si è già attivata per aggiornare le proprie procedure di sviluppo e refactoring proprio per seguire rilasci due volte l’anno, situazione che si sta verificando anche con altri framework (vedasi Angular, ad esempio).

Allo stato attuale, le versioni a lungo termine come Java 8 e la successiva rilascio Java 11 riceveranno supporto a lungo termine (ossia saranno le cosiddette versioni LTS), mentre altre come Java 9 andranno rapidamente in obsolescenza (dal punto di vista del supporto tecnico e degli aggiornamenti) con l’uscita della versione successiva (per Java SE 9 sarebbe Java 10).

Ma attenzione: Java 8 non sarà più supportato da febbraio 2019 e questa, sinceramente, ci sembra una data troppo prematura visto che Java SE 11 uscirà solo a settembre 2018! Ovviamente questa data vale solo per gli utenti commerciali: chi usa Java SE 8 sul proprio PC o portatile riceverà aggiornamenti fino a dicembre 2020.

E’ chiaro, quindi, il motivo per cui ci siamo dovuti riorganizzare per garantire il nostro tradizionale livello di qualità anche nel caso di frequenti aggiornamenti del JDK.

In sintesi, sebbene ci saranno grandi rilasci che offrono supporto a lungo termine, in mezzo avremo altri rilasci (ogni sei mesi) in veste di aggiornamento minore (ma non tanto minore, come vedremo nel caso Java SE 10).

Andiamo al dunque: le nuove funzionalità di Java SE 10

• Inferenza del tipo della variabile locale
• Consolidamento del JDK in un singolo blocco (prima era estremamente frammentato)
• Interfaccia Garbage Collector
• Garbage Collector parallelo completo per G1
• Condivisione dei dati di classe nelle applicazioni (migliora le prestazioni ma è trasparente allo sviluppatore)
• Handshaking locale sui thread (JEP 312: Thread-Local Handshakes)
• E’ stato rimosso lo strumento javah
• Ulteriori estensioni Unicode per vari linguaggi
• Allocazione dell’heap su dispositivi di memoria alternativi
• Compilatore JIT sperimentale basato su Java
• Certificati di root
• Cambiamento della numerazione delle versioni per consentire il rilascio delle versioni basato sul tempo

Vediamone alcuni in dettaglio.

Di sicuro l’uso dell’inferenza per le variabili locali è quello che più colpisce il programmatore:

var lista = new ArrayList<String>(); // inferisce ArrayList<String>
var stream = lista.stream(); // inferisce Stream<String>

Come si vede dal codice sopra, le variabili possono essere dichiarate in maniera più concisa, lasciando a Java il compito di capire (inferire) il loro tipo. Peccato che ricordi tanto Javascript! Ma non temete, nel corso Java SE Latest Version vi spiegheremo per bene la differenza

I vari garbage collector di Java 10 ora hanno un’interfaccia ben definita e ciò permette un loro maggiore isolamento. Questa funzionalità ha l’obiettivo di rendere più semplice e veloce l’aggiunta, la rimozione o la modifica di garbage collectors nelle future versioni di Java. Non sapevate che il garbage collector era “tanti” garbage collectors? Allora non avete mai seguito un nostro corso Java SE!

A quando Java SE 11?

Il prossimo JDK, quello relativo a Java SE 11, previsto per settembre, sarà una versione di supporto a lungo termine (LTS) di Java e avrà alcune nuove funzionalità relative al controllo di accesso delle variabili, all’uso delle variabili locali nelle espressioni lambda (se non conoscete il dramma, seguite il corso Java SE Latest Version), ulteriori modifiche al garbage collectore e molte altre ancora.

Quando uscirà, vi aggiorneremo.

JDK e OpenJDK

Un’ultima informazione sulle modalità di rilascio: da Java SE 9, Oracle ha iniziato a rilasciare, oltre all’Oracle JDK, build dell’OpenJDK, una versione open source del JDK. Lo scopo (dichiarato esplicitamente da Oracle) è continuare a fornire agli utenti commerciali (i.e. a pagamento) l’Oracle JDK e a quelli non commerciali (i.e. gratuitamente) OpenJDK.

Che dire? Nel corso Java SE Latest Version ne parleremo a fondo.

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Fornisci il tuo contributo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.