Oracle Java 19: produttività, performance e sicurezza

Oracle fornisce nuove versioni delle funzionalità Java ogni sei mesi attraverso un programma di release prevedibile.

oracle java

Oracle Java 19, la release prevede sette JDK Enhancement Proposal per aumentare la produttività degli sviluppatori, migliorare performance, stabilità e sicurezza.

L’azienda 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.

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.

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

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.

Oracle Java 19 – Supporto clienti

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.