Oracle ha appena annunciato il rilascio Java 16, nuova versione di Java che porta con sé moltissime novità. Come accade per ogni rilascio, le migliore introdotte in Java dovrebbero permettere un incremento della produttività degli sviluppatori.
Nel seguito vedremo in cosa consistono le principali migliorie introdotte con Java 16.
Il ciclo di rilascio di Java
Da diverso tempo, Oracle ha adottato un ciclo di rilascio che garantisce aggiornamenti Java con una cadenza di sei mesi, in modo da garantire un programma di rilascio prevedibile e costante. Ciò permette di implementare un flusso costante di innovazioni, offrendo al tempo stesso miglioramenti continui in termini di prestazioni, stabilità e sicurezza.
Java 16 è il risultato di un'ampia collaborazione tra ingegneri Oracle e membri della comunità di sviluppatori Java proveniente da tutto il mondo.
Le principali novità di Java 16
Le prime novità principali riguardano la finalizzazione delle funzionalità di Pattern Matching e dei Record, la cui prima introduzione risale a Java 14, e che permetteranno migliori performance per l'operatore instanceof
e per la gestione di dati immutabili.
Inoltre, con Java 16 gli sviluppatori possono utilizzare il nuovo Packaging Tool (jpackage), che permetterà di pacchettizzare applicazioni Java auto contenute.
Mentre le funzionalità appena citate si erano già viste (seppur ancora incomplete) in rilasci precedenti, vi sono poi alcune funzionalità introdotte per la prima volta con Java 16, in una sorta di anteprima per le future versioni, e che quindi vedremo stabilizzarsi con i prossimi rilasci. Tra queste vi sono:
- Vector API: constente di esprimere calcoli vettoriali compilabili in modo affidabile in fase di runtime, sfruttando specifiche istruzioni hardware vettoriali sulle architetture che le supportano;
- Foreign Linker API: offre la possibilità di accedere a codice nativo direttamente da Java;
- Foreign-Memory Access API: consente ai programmi Java di accedere in modo sicuro ed efficiente alla memoria esterna, al di fuori cioè dell'heap Java;
- Sealed Classes: introduce classi e interfacce "sealed", aventi la caratteristica di limitare le altre classi o interfacce che possono estenderle o implementarle.
Quelli fin qui elencati non sono gli unici miglioramenti introdotti con Java 16. Chi volesse saperne di più, può fare riferimento alle note di rilascio ufficiali.