Oracle ha annunciato la disponibilità di Java 19, la nuova versione del linguaggio di programmazione e della piattaforma di sviluppo numero uno al mondo. Java 19 (Oracle JDK 19) include elementi che apportano migliaia di miglioramenti in termini di prestazioni, stabilità e sicurezza; alcune di esse riguardano la piattaforma e sono state introdotte per aiutare ad aumentare la produttività degli sviluppatori e per favorire l’innovazione aziendale. Oracle presenterà le nuove funzionalità di Java 19 all’evento JavaOne 2022, che si terrà dal 17 al 20 ottobre a Las Vegas e in un keynote che sarà trasmesso online su dev.java/ alle 9:00 PT (le 6.00 PM CEST) di martedì 20 settembre.
Come sottolineato in una nota ufficiale da Georges Saab, Senior Vice President of Development di Java Platform e Chair, OpenJDK Governing Board, di Oracle: «La nostra continua collaborazione con la comunità degli sviluppatori è la linfa vitale di Java. In quanto amministratore di questa piattaforma, Oracle è costantemente impegnata a fornire gli strumenti più nuovi con cui creare app e servizi innovativi. Questi recenti e potenti miglioramenti di Java 19 testimoniano del lavoro monumentale fatto dalla community mondiale di Java».
Il nuovo Java Development Kit (JDK) fornisce aggiornamenti e miglioramenti, con sette JDK Enhancement Proposal (JEP). La maggior parte di questi aggiornamenti saranno introdotti come funzionalità di anteprima e follow-up che migliorano quanto introdotto nelle release precedenti.
JDK 19 offre miglioramenti del linguaggio che sono frutto del progetto OpenJDK Amber (Record Patterns and Pattern Matching for Switch); miglioramenti della libreria per interoperare con codici non Java (Foreign Function and Memory API) e per sfruttare le istruzioni vettoriali (Vector API) nate dal progetto OpenJDK Panama; vi sono inoltre anteprime per il Project Loom (Virtual Threads and Structured Concurrency), che ridurranno drasticamente lo sforzo necessario per scrivere e manutenere applicazioni concorrenti ad alto throughput su Java.
Come dichiarato da Arnal Dayaratna, research vice president, software development, IDC: «Gli sviluppatori Java cercano sempre più strumenti per creare applicazioni altamente funzionali per l’implementazione nel cloud, on-premise e in ambienti ibridi. I miglioramenti di Java 19 soddisfano questi requisiti e illustrano come l’ecosistema Java sia ben posizionato per soddisfare le esigenze attuali e future di sviluppatori e aziende».
Oracle fornisce nuove versioni delle funzionalità Java ogni sei mesi attraverso un programma di release prevedibile. Questa cadenza permette un flusso costante di innovazioni e miglioramenti alle prestazioni, alla stabilità e alla sicurezza della piattaforma, cosa che contribuisce ad aumentarne la pervasività in vari settori e in organizzazioni di tutte le dimensioni.
Gli aggiornamenti più significativi di Java 19 sono i seguenti.
- JEP 405: Record Patterns (anteprima) – Consente agli utenti di nidificare record pattern e type pattern per creare un form potente, dichiarativo e componibile di navigazione e elaborazione dati. Questo estende il pattern matching per consentire query di dati più sofisticate e componibili.
- JEP 427: Pattern Matching for Switch (terza anteprima) – Abilita il “pattern matching for switch” di espressioni e dichiarazioni, permettendo che un’espressione venga testata rispetto a diversi pattern. Ciò consente agli utenti di esprimere query complesse basate sui dati in modo conciso e sicuro.
Strumenti della libreria
- JEP 424: Foreign Function and Memory API (anteprima) – Permette ai programmi Java di interoperare più facilmente con codici e dati al di fuori del Java runtime. Richiamando in modo efficiente funzioni estranee (cioè, codici al di fuori di Java Virtual Machine [JVM]) e accedendo in tutta sicurezza a una memoria estranea (cioè, una memoria non gestita da JVM), l’API permette ai programmi Java di chiamare librerie native ed elaborare dati nativi attraverso un modello di sviluppo Java puro. Ciò si traduce in maggiori prestazioni, facilità d’uso, flessibilità e sicurezza.
- JEP 426: Vector API (quarto incubatore) – Consente prestazioni superiori rispetto a calcoli scalari equivalenti esprimendo calcoli vettoriali che si compilano in modo affidabile in fase di esecuzione, per le istruzioni vettoriali sulle architetture CPU supportate.
Porte
- JEP 422: Linux/RISC-V Port: Pone le basi per delle implementazioni Linux/RISC-V più semplici integrando questa porta nel repository della linea principale JDK.
Funzioni di anteprima/incubatori per Project Loom
- JEP 425: Virtual Thread (anteprima): Riduce drasticamente gli sforzi di scrittura, manutenzione e osservabiità per applicazioni concorrenti ad alto throughput, introducendo thread virtuali leggeri nella piattaforma Java. L’uso di thread virtuali consente agli sviluppatori di risolvere facilmente i problemi, eseguire il debug e creare il profilo delle applicazioni concorrenti con gli strumenti e le tecniche JDK esistenti.
- JEP 428: Structured Concurrency (incubatore): Ottimizza la gestione e l’annullamento degli errori, aumenta l’affidabilità e migliora l’osservabilità semplificando la programmazione multithreaded e trattando più task in esecuzione in thread diversi come un’unica unità di lavoro.
Favorire l’innovazione Java nel cloud
La release Java 19 è il risultato di una stretta collaborazione tra i tecnici Oracle e altri membri della community di sviluppatori Java a livello globale, tramite OpenJDK Project e Java Community Process (JCP). Oltre ai nuovi miglioramenti, Java 19 è supportato da Java Management Service, un servizio nativo Oracle Cloud Infrastructure (OCI), che offre un unico pannello di controllo per aiutare le organizzazioni a gestire runtime e applicazioni Java on-premise o in qualsiasi cloud.
Supporto ai clienti Java
Oracle Java SE Subscription è un’offerta pay-as-you-go che offre ai clienti un supporto di altissimo livello, il diritto a GraalVM Enterprise, l’accesso a Java Management Service e la flessibilità di eseguire upgrade secondo le esigenze del loro business. Ciò consente alle organizzazioni IT di gestire la complessità, contenere i costi e ridurre i rischi per la sicurezza. Inoltre, Java SE e GraalVM Enterprise sono offerti gratuitamente su OCI (Oracle Cloud Infrastructure) – cosa che permette di creare e implementare applicazioni che vengono eseguite più velocemente, in un modo migliore e con un rapporto prezzo/prestazioni insuperabile su Oracle Cloud.
A conferma della popolarità di Java nella community di sviluppatori globale, Oracle oggi è orgogliosa di annunciare che sono state conseguite 1 milione di certificazioni Java. Le certificazioni Java aiutano gli sviluppatori a distinguersi in quanto esperti Java e a rendere più interessante il proprio profilo per le aziende che cercano di attirare professionisti Java altamente qualificati.