Oracle ha annunciato la disponibilità di Java 26, l’ultima versione del linguaggio di programmazione e della propria piattaforma di sviluppo.
Java 26 (Oracle JDK 26) introduce migliaia di miglioramenti che aumentano la produttività degli sviluppatori, semplificano il linguaggio e aiutano gli sviluppatori a integrare funzionalità di intelligenza artificiale e crittografia nelle applicazioni.
Per aiutare ulteriormente gli sviluppatori a semplificare e migliorare le proprie attività di sviluppo, Oracle ha annunciato anche il nuovo Java Verified Portfolio (JVP), che offre una selezione accurata di strumenti, framework, librerie e servizi supportati da Oracle, tra cui il supporto commerciale per JavaFX, un framework di interfaccia utente basato su Java ed Helidon e un framework Java per i microservizi. Inoltre, Oracle intende allineare la cadenza di rilascio di Helidon a quelle di Java e proporre Helidon come progetto OpenJDK.
“Da oltre 30 anni le organizzazioni fanno affidamento sulla piattaforma e sul linguaggio Java per alimentare i propri sistemi mission-critical e supportare lo sviluppo rapido di applicazioni e servizi”, ha dichiarato Arnal Dayaratna, research vice president, software development di IDC. “La continua evoluzione della piattaforma consente alle organizzazioni di integrare funzionalità trasformative nelle proprie applicazioni, preservando al contempo l’affidabilità e la sicurezza che caratterizzano il software mission-critical. Grazie all’estensione delle funzionalità di Java con nuove caratteristiche e servizi, tra cui funzionalità avanzate di AI e sicurezza, Java 26 offre alle organizzazioni un percorso più rapido verso l’innovazione”.
“Sono più di 30 anni che Java svolge un ruolo fondamentale come tecnologia essenziale per le aziende, costituendo la spina dorsale dei loro stack e consentendo di sviluppare applicazioni e servizi potenti, affidabili e sicuri”, ha dichiarato Georges Saab, senior vice president di Oracle Java Platform e presidente dell’OpenJDK Governing Board. “Le nuove funzionalità di Java 26 riflettono la volontà di Oracle di aiutare i propri clienti a sfruttare l’AI e la crittografia per sviluppare applicazioni che accelerino la crescita del business. Con l’introduzione del JVP, gli sviluppatori possono semplificare i propri progetti utilizzando una raccolta affidabile di strumenti supportati da Oracle, tra cui Helidon, un framework Java rapido e leggero per la creazione di microservizi ad alte prestazioni e applicazioni basate sull’AI”.
Principali miglioramenti JDK Enhancement Proposal (JEP)
Funzionalità del linguaggio
JEP 530: Primitive Types in Patterns, instanceof, and switch (Fourth Preview): aiuta gli sviluppatori ad aumentare la produttività e semplificare lo sviluppo di applicazioni che integrano inferenza AI, rendendo Java più uniforme ed espressivo. Elimina diverse limitazioni relative ai tipi primitivi che rendevano più complesso l’uso di pattern matching, instanceof e switch. Per aiutare ulteriormente gli sviluppatori a migliorare la produttività, il sistema perfeziona inoltre la definizione di “esattezza incondizionata” e applica controlli di ridondanza più rigorosi nei costrutti switch, consentendo al compilatore di identificare e ridurre una gamma più ampia di errori di codifica.
Aggiornamenti delle prestazioni
JEP 522: G1 GC: Improve Throughput by Reducing Synchronization: aiuta gli sviluppatori a elaborare più lavoro in meno tempo migliorando l’efficienza della memoria. Riduce la sincronizzazione tra i thread dell’applicazione e quelli del garbage collector, aumentando il throughput con il garbage collector G1. Grazie a un’esecuzione più rapida e alla possibilità di supportare un numero maggiore di utenti senza hardware aggiuntivo, Java migliora l’efficienza, riduce i costi dell’infrastruttura e offre un’esperienza utente più fluida. Funzionalità di Project Leyden.
JEP 516: Ahead-of-Time Object Caching with Any GC: aumenta la produttività degli sviluppatori e l’efficienza delle risorse accelerando il tempo di avvio delle applicazioni Java con qualsiasi garbage collector (GC). Consente il caricamento sequenziale in memoria di oggetti Java pre-inizializzati e memorizzati nella cache, a partire da un formato neutro e indipendente dal GC. Inoltre, migliora la cache ahead-of-Time, permettendo alla Java HotSpot Virtual Machine di ridurre i tempi di avvio e di warm up e di essere utilizzata con qualsiasi garbage collector, incluso ZGC a bassa latenza. Ciò consente agli sviluppatori di ridurre i ritardi di avvio delle applicazioni, scalare più rapidamente e offrire una migliore esperienza utente.
Librerie
JEP 500: Prepare to Make Final Mean Final: aiuta gli sviluppatori a migliorare la sicurezza e l’affidabilità delle applicazioni impedendo modifiche non intenzionali, manomissioni o errori accidentali nei sistemi aziendali Genera avvisi quando la deep reflection viene utilizzata per modificare campi “final” e consente agli sviluppatori di modificarli solo quando strettamente necessario, evitando sia gli avvisi attuali sia le future restrizioni. Questa modifica fondamentale rafforza il principio di “Integrity by Default” di Java, volto a proteggere dati sensibili e logiche di business, ridurre i rischi nascosti e diminuire la probabilità di bug o vulnerabilità di sicurezza.
JEP 517: HTTP/3 for the HTTP Client API: aiuta gli sviluppatori ad aumentare la produttività rendendo più semplice scrivere codice che interagisce con server Aggiorna HTTP Client API per supportare il protocollo HTTP/3, consentendo a librerie e applicazioni di interagire con server HTTP/3 con modifiche minime al codice. Eliminando questi comuni colli di bottiglia e consentendo un recupero dei dati più rapido con minore latenza, aiuta microservizi e applicazioni Java basate su API a ottenere prestazioni superiori e connessioni di rete più affidabili.
JEP 526: Lazy Constants (seconda preview): aiuta gli sviluppatori ad aumentare la produttività e l’efficienza delle risorse offrendo maggiore flessibilità nel momento di inizializzazione, cosa particolarmente utile per applicazioni basate sui dati e sull’AI. Tramite una nuova API per le Lazy Constants, vale a dire oggetti che contengono dati non modificabili, la Java Virtual Machine (JVM) tratta le lazy constants come vere e proprie costanti, garantendo così le stesse prestazioni della dichiarazione di un campo come “final”. Inoltre, consente alle applicazioni Java e ai relativi servizi cloud-native e basati sull’intelligenza artificiale di avviarsi più rapidamente e di utilizzare le risorse di calcolo in modo più efficiente, aiutando gli sviluppatori a realizzare implementazioni agili e scalabili, che si traducono in risparmi sui costi e in una migliore esperienza per gli utenti finali.
JEP 525: Structured Concurrency (sesta preview): aiuta gli sviluppatori a migliorare gestibilità, affidabilità e osservabilità del codice multithread, con vantaggi significativi per la scalabilità e la resilienza dei carichi di lavoro AI e cloud Semplifica la programmazione concorrente tramite un’API di Structured Concurrency che tratta gruppi di attività correlate eseguite su thread diversi come un’unica unità di lavoro, contribuendo a ridurre rischi comuni legati alla cancellazione o all’arresto, come perdite di thread o ritardi nella cancellazione.
JEP 529: Vector API (11° Incubator): aiuta gli sviluppatori a migliorare le prestazioni e l’efficienza in termini di costo delle applicazioni Java, consentendo loro di fornire maggiori informazioni e valore aggiunto con meno risorse hardware. L’API vettoriale esprime calcoli vettoriali che, in fase di esecuzione, vengono compilati in modo affidabile in istruzioni vettoriali ottimali sulle architetture CPU supportate, garantendo un’elaborazione più veloce per l’analisi dei dati, l’inferenza AI e i carichi di lavoro di calcolo scientifico. Ciò consente agli sviluppatori di ottenere prestazioni superiori rispetto ai calcoli scalari equivalenti, spesso utilizzati negli scenari di inferenza AI e di calcolo.
Librerie di sicurezza
JEP 524: PEM Encodings of Cryptographic Objects (seconda preview): aiuta gli sviluppatori a migliorare la produttività e rafforzare la sicurezza delle applicazioni Java tramite i formati di sicurezza più diffusi, grazie a una nuova API di codifica. L’API codifica gli oggetti che rappresentano chiavi crittografiche, certificati ed elenchi di revoca dei certificati in un formato di trasporto della posta elettronica ampiamente utilizzato e dotato di funzionalità avanzate per la tutela della privacy, per poi ricodificarli nuovamente in oggetti. Ciò riduce il rischio di errori, semplifica la conformità e migliora la portabilità e l’interoperabilità delle applicazioni Java sicure, ottimizzando la configurazione e l’integrazione della crittografia per soddisfare i requisiti aziendali, le esigenze cloud e le normative.
Funzionalità di Clean-Up
JEP 504: Remove the Applet API: aiuta gli sviluppatori a ridurre le proprie impronte di installazione e codice sorgente e a migliorare prestazioni, stabilità e sicurezza delle applicazioni eliminando l’Applet API, obsoleta per la rimozione in JDK 17 e non più parte della piattaforma.
Ulteriori miglioramenti in termini di sicurezza, affidabilità e prestazioni
Oltre alle 10 JEP, Java 26 introduce decine di aggiornamenti che aiutano le organizzazioni a migliorare sicurezza, affidabilità e prestazioni delle applicazioni. Con Java 26, le organizzazioni possono ora semplificare la crittografia sicura grazie alla crittografia a chiave pubblica ibrida (HPKE) conforme agli standard del settore, rendere le proprie supply chain “a prova di futuro” con la firma dei file JAR predisposta per l’era post-quantistica e beneficiare di un supporto migliorato per gli standard globali grazie agli aggiornamenti a Unicode 17.0 e CLDR v48. Inoltre, controlli potenziati per gli algoritmi crittografici e gli archivi di chiavi legacy rafforzano ulteriormente la sicurezza e la conformità, consentendo alle organizzazioni di modernizzarsi in tutta tranquillità.
Prestazioni e affidabilità delle applicazioni migliorano grazie a numerosi aggiornamenti aggiuntivi, che consentono tempi di avvio più rapidi della JVM, una garbage collection più efficiente, una compilazione C2 JIT ampliata e una gestione heap più intelligente. Inoltre, sviluppatori e amministratori possono aumentare la produttività grazie a nuove funzionalità, tra cui il caricamento di file in base alla regione in HttpClient, una creazione delle immagini di runtime più rigorosa, un’API migliorata per le metriche della JVM e una nuova modalità scura per JavaDoc.
Le funzionalità della versione Java 26 sono frutto della stretta e continuativa collaborazione fra Oracle e gli altri membri della community globale di sviluppatori Java, tramite OpenJDK e Java Community Process (JCP).
Reintroduzione del supporto commerciale per JavaFX per soddisfare la richiesta
Oracle reintroduce il supporto commerciale per JavaFX per rispondere alla crescente domanda di clienti, mondo accademico e settore dello sviluppo software, che hanno bisogno di visualizzazioni sofisticate e interattive, fondamentali per esperienze di Analytics e applicazioni basate sull’AI. Il supporto commerciale per JavaFX sarà ora disponibile per tutte le nuove versioni di Java e per tutte le versioni di Java che Oracle offre con supporto a lungo termine durante il periodo di Premier Support di cinque anni.
Il supporto per JavaFX su JDK 8 verrà esteso fino a marzo 2028, e il supporto commerciale sarà incluso nel nuovo Oracle Java Verified Portfolio (JVP). I piani per le prossime versioni di JavaFX includono JavaFX 25 e 26 per JDK 26 (disponibili da oggi), con aggiornamenti per JavaFX 21, 17 e 8 previsti per entro la fine dell’anno. JavaFX sarà distribuito secondo le stesse condizioni di licenza del corrispondente Oracle JDK (NFTC o OTN). Inoltre, Oracle continua a guidare il progetto OpenJFX, confermando l’impegno verso JavaFX nelle comunità aziendali e accademiche.
Il nuovo Oracle Java Verified Portfolio offre una selezione accurata di strumenti di livello enterprise
Il nuovo Oracle Java Verified Portfolio (JVP) introduce una soluzione affidabile e sicura, che garantisce licenze e assistenza per l’ampia gamma di applicazioni e stack di sviluppo Java dei clienti. Clienti Oracle e sviluppatori Java utilizzano un’ampia gamma di strumenti, framework, librerie e servizi correlati a JDK che non fanno parte a loro volta di Oracle JDK e hanno versioni, tempistiche di assistenza e SLA distinti. JVP offre una selezione curata di componenti di livello enterprise, interamente supportati e gestiti da Oracle, con una roadmap trasparente e una gestione completa del ciclo di vita.
JVP semplifica il supporto, l’accesso e la documentazione per i componenti Java mission- critical, facilita la gestione del ciclo di vita e tutela gli investimenti dei clienti nel tempo. Per supportare gli standard di innovazione e sicurezza aziendali, Oracle include il supporto gratuito per JVP per gli abbonati Java SE e i clienti Oracle Cloud Infrastructure (OCI) che eseguono carichi di lavoro Java su OCI.
Inoltre, l’accesso e l’uso di molti componenti del portfolio rimangono gratuiti per una vasta gamma di casi d’uso e utenti non abbonati a Java SE o non clienti OCI.
Procurandosi queste risorse convalidate direttamente da Oracle, i clienti riducono significativamente il rischio nella supply chain del software, poiché JVP offre una fonte affidabile e verificata per acquisire componenti essenziali dell’ecosistema Java. Ciò consente alle organizzazioni di accelerare adozione e integrazione con la consapevolezza che ogni componente è soggetto ai rigorosi standard di qualità, sicurezza e supporto di Oracle.
Oltre al supporto commerciale JavaFX, JVP include il supporto Oracle sia per Helidon che per Oracle Java Platform Extension for Visual Studio Code.
Helidon è un framework Java open source e cloud nativo progettato per creare ed eseguire microservizi veloci, leggeri e altamente scalabili utilizzando i thread virtuali Java. Progettato, guidato e utilizzato da Oracle, Helidon si integra con gli ecosistemi aziendali e cloud nativi per offrire agli sviluppatori semplicità, produttività, scelta dello stile di programmazione e osservabilità integrata. Helidon AI estende Helidon, consentendo agli sviluppatori Java di creare applicazioni AI ad alte prestazioni in Java. Helidon prevede anche l’integrazione con LangChain4j, Helidon MCP e facilita la creazione di agenti AI come microservizi.
Includendo Helidon in JVP, Oracle offre un supporto ancora più ampio, affidabile e di livello enterprise, a clienti e sviluppatori, consentendo loro di creare applicazioni scalabili e resilienti basate sulle ultime innovazioni Java. Inoltre, la pianificazione di Helidon è allineata alla roadmap JDK, garantendo supporto immediato per le versioni Java più recenti. Questo stretto allineamento con Oracle JDK e la piattaforma Java SE assicura compatibilità completa e accelera l’innovazione per l’intero ecosistema degli sviluppatori Java. Per rafforzare l’impegno di Oracle nel fornire soluzioni affidabili e supportate a livello enterprise, pur promuovendo l’innovazione nella comunità Java, Helidon e la Java Platform Extension per VS Code resteranno open source.
Supporto della community globale di Java con l’innovazione nel cloud
Java garantisce maggiore innovazione, prestazioni, efficienza e risparmi sui costi quando è implementato su OCI, il primo provider di servizi cloud a supportare Oracle JDK 26. Offrendo Oracle Java SE e funzionalità avanzate come Java Management Service senza alcun costo aggiuntivo su OCI, Java 26 consente agli sviluppatori di creare e implementare applicazioni che vengono eseguite più velocemente, più efficacemente e con un rapporto prezzo/prestazioni ottimizzato.
L’abbonamento Oracle Java SE Universal offre ai clienti un’assistenza di prim’ordine. Ora include JVP, oltre al Java SE Subscription Enterprise Performance Pack, al Java Management Service, all’assistenza di triage per l’intero portafoglio Java e alla flessibilità di effettuare gli aggiornamenti in base alle esigenze aziendali dei clienti. Ciò aiuta i team IT a gestire la complessità, mitigare i rischi per la sicurezza e contenere i costi.


