Oracle ha annunciato la disponibilità di Java 26, una nuova release della piattaforma che prosegue l’evoluzione del linguaggio e della Java Virtual Machine mantenendo la compatibilità con il vasto ecosistema di applicazioni esistenti.
Nel corso della sua storia Java ha dimostrato una capacità rara nel mondo delle piattaforme software: evolversi senza compromettere la stabilità necessaria per sostenere infrastrutture critiche e sistemi sviluppati nel corso di decenni. Con l’arrivo di Java 26 questa evoluzione entra in una fase che i responsabili della piattaforma descrivono come una nuova “Java Renaissance”, una stagione di rinnovamento destinata a rafforzare il ruolo del linguaggio in un panorama tecnologico profondamente trasformato.
Negli ultimi anni lo sviluppo software è stato ridefinito da tre grandi dinamiche: la diffusione delle architetture cloud-native, l’ascesa dell’intelligenza artificiale e la crescente attenzione verso l’esperienza degli sviluppatori.
Java 26 introduce miglioramenti che interessano diversi livelli della piattaforma. Le novità riguardano il linguaggio, la JVM, le librerie di rete e di sicurezza, oltre agli strumenti utilizzati dagli sviluppatori.
Accanto alle innovazioni tecniche Oracle ha annunciato anche iniziative destinate ad avere un impatto più ampio sull’ecosistema Java. Tra queste figurano il Java Verified Portfolio, una maggiore integrazione con ambienti di sviluppo moderni come Visual Studio Code e nuovi progetti OpenJDK pensati per facilitare l’integrazione con tecnologie di intelligenza artificiale.
Nel loro insieme queste evoluzioni delineano una strategia che mira a rafforzare la piattaforma lungo più direttrici: modernizzazione del linguaggio, miglioramento delle prestazioni del runtime, integrazione con l’AI e sviluppo di un ecosistema più coerente di strumenti e framework.
Java continua così a evolvere cercando di conciliare innovazione e stabilità in un ecosistema che rimane uno dei pilastri dell’infrastruttura software globale.
Una piattaforma che evolve senza rompere il passato
Uno degli elementi distintivi di Java è la capacità di evolvere senza compromettere la compatibilità con le applicazioni esistenti. Questa caratteristica è particolarmente rilevante in un ecosistema nel quale milioni di sistemi continuano a funzionare su infrastrutture sviluppate nel corso di decenni.
La filosofia che guida l’evoluzione della piattaforma è spesso descritta dagli sviluppatori Java come una “thoughtful evolution”, un approccio che introduce nuove funzionalità e nuovi paradigmi senza mettere a rischio la stabilità e la prevedibilità del codice esistente.
Questo principio ha accompagnato l’intera storia della piattaforma. Molte delle innovazioni più significative degli ultimi anni — dalle lambda expressions ai moduli introdotti con Project Jigsaw, fino ai virtual threads del Project Loom — sono state integrate mantenendo una forte attenzione alla compatibilità con le versioni precedenti del linguaggio e del runtime.
Java 26 si inserisce in questa traiettoria rafforzando alcune direttrici tecnologiche già emerse negli ultimi anni. La release introduce miglioramenti che riguardano la produttività degli sviluppatori, l’efficienza della JVM e l’integrazione della piattaforma con nuovi ambiti applicativi come l’intelligenza artificiale.
Accanto all’evoluzione del linguaggio, la nuova versione del JDK porta aggiornamenti anche nelle librerie standard, nelle funzionalità di networking e nei meccanismi di sicurezza, riflettendo l’obiettivo di mantenere la piattaforma allineata alle esigenze delle architetture software contemporanee.
Linguaggio più espressivo e meno complesso
Una delle aree di innovazione più visibili riguarda il linguaggio Java stesso. Attraverso Project Amber, la comunità OpenJDK continua a introdurre funzionalità destinate a rendere il linguaggio più conciso, espressivo e meno soggetto a errori.
Amber rappresenta una delle iniziative più importanti degli ultimi anni nella roadmap della piattaforma. L’obiettivo non è modificare radicalmente la struttura del linguaggio, ma migliorarne progressivamente l’espressività attraverso evoluzioni mirate della sintassi. In questo modo gli sviluppatori possono esprimere la stessa logica con meno codice e con strutture più chiare, mantenendo al tempo stesso la compatibilità retroattiva che caratterizza Java.
Tra le innovazioni introdotte negli ultimi anni figurano i record, che semplificano la definizione di classi utilizzate principalmente come contenitori di dati, e il pattern matching, che consente di combinare controlli di tipo ed estrazione dei dati in un’unica espressione.
Proprio il pattern matching rappresenta uno degli ambiti nei quali Java 26 introduce un’evoluzione significativa attraverso JEP 530, che estende il supporto ai tipi primitivi rendendo più uniforme il comportamento delle strutture di controllo. Costrutti come switch e instanceof possono così essere utilizzati in modo coerente indipendentemente dal tipo di dato trattato.
Storicamente Java ha mantenuto una distinzione netta tra tipi primitivi e oggetti. I primi, come int, double o boolean, rappresentano valori memorizzati direttamente in memoria, mentre gli oggetti sono istanze di classi gestite tramite riferimenti. Questa separazione ha rappresentato a lungo un elemento fondamentale dell’architettura della piattaforma, ma ha anche introdotto alcune limitazioni nell’evoluzione del linguaggio.
Nelle versioni precedenti molte funzionalità avanzate del pattern matching erano disponibili soltanto per gli oggetti. I tipi primitivi non potevano essere utilizzati nello stesso modo all’interno dei pattern, costringendo spesso gli sviluppatori a ricorrere a conversioni o strutture di controllo aggiuntive.
Dal punto di vista pratico l’estensione introdotta con JEP 530 consente di scrivere codice più diretto e leggibile. Strutture di controllo che in passato richiedevano più istruzioni possono essere espresse con una sintassi più compatta, mentre il compilatore può analizzare il codice in modo più approfondito e individuare potenziali errori già in fase di compilazione.
Tra le evoluzioni della sintassi figura anche JEP 512, che introduce forme più compatte per la definizione di programmi Java. L’iniziativa consente di ridurre il boilerplate necessario per scrivere applicazioni molto semplici, rendendo il linguaggio più accessibile in contesti educativi e negli ambienti di sviluppo interattivi.
Queste evoluzioni si inseriscono in un dibattito che accompagna da tempo lo sviluppo della piattaforma: la percezione di verbosità del linguaggio rispetto ad altri linguaggi più sintetici. Fin dalla sua nascita Java è stato progettato come linguaggio fortemente tipizzato e prevedibile, pensato per lo sviluppo di sistemi software complessi e di lunga durata.
Con l’evoluzione dell’ecosistema dei linguaggi di programmazione si sono diffusi linguaggi che privilegiano una sintassi più compatta. Linguaggi come Python, Kotlin, Scala o Go consentono spesso di esprimere la stessa logica con meno codice, una caratteristica che può accelerare lo sviluppo soprattutto nelle fasi iniziali di un progetto.
Questa differenza ha alimentato una delle critiche più frequenti rivolte a Java: la presenza di boilerplate, ovvero porzioni di codice ripetitive necessarie per definire classi, metodi o strutture dati. Prima dell’introduzione di funzionalità come record e pattern matching, anche la definizione di strutture dati relativamente semplici poteva richiedere numerose righe di codice dedicate a costruttori, getter, setter e altre componenti accessorie.
Le innovazioni introdotte negli ultimi anni – e rafforzate in Java 26 – mirano proprio a ridurre questa complessità senza rinunciare alle caratteristiche che hanno reso Java uno standard nello sviluppo enterprise. Piuttosto che inseguire la sintesi estrema di alcuni linguaggi moderni, la comunità OpenJDK ha scelto un approccio evolutivo che introduce gradualmente nuove forme di espressività mantenendo la stabilità della piattaforma.
L’estensione ai tipi primitivi rappresenta un ulteriore passo verso un linguaggio più coerente e moderno.
Prestazioni della JVM e gestione della concorrenza
Accanto all’evoluzione del linguaggio, Java 26 introduce miglioramenti anche a livello di Java Virtual Machine, con interventi destinati a ottimizzare prestazioni, gestione delle risorse e scalabilità delle applicazioni.
La JVM rappresenta uno dei componenti più sofisticati della piattaforma Java. Nel corso degli anni è stata continuamente perfezionata per supportare carichi di lavoro sempre più complessi e sfruttare in modo più efficiente le capacità dell’hardware moderno.
Una delle principali direttrici di sviluppo riguarda l’ottimizzazione dell’esecuzione del codice e della gestione della memoria. In ambienti cloud e nelle architetture basate su microservizi, fattori come tempo di avvio delle applicazioni, efficienza nell’utilizzo delle risorse e prevedibilità delle prestazioni assumono un’importanza sempre maggiore.
Java 26 prosegue quindi il lavoro di miglioramento del runtime per ottimizzare throughput, latenza e startup time, elementi fondamentali nelle applicazioni distribuite.
Un ambito centrale di evoluzione riguarda anche la gestione della concorrenza. Negli ultimi anni la piattaforma ha introdotto innovazioni significative con Project Loom, che ha reso disponibili i virtual threads.
I virtual threads consentono di gestire un numero molto elevato di operazioni concorrenti con un overhead estremamente ridotto rispetto ai thread tradizionali della JVM. Questo modello semplifica lo sviluppo di applicazioni altamente concorrenti e permette di sfruttare in modo più efficiente le risorse disponibili nei sistemi moderni.
In molti scenari applicativi, in particolare nelle architetture basate su servizi e nelle applicazioni server-side, la possibilità di gestire migliaia o milioni di operazioni concorrenti rappresenta un fattore determinante per la scalabilità del sistema.
Un altro elemento importante riguarda i miglioramenti ai garbage collector, in particolare ZGC. Questo garbage collector a bassa latenza è progettato per ridurre al minimo le pause legate alla gestione della memoria, un aspetto cruciale nelle applicazioni che richiedono tempi di risposta prevedibili.
ZGC è stato progettato per mantenere pause molto brevi e prevedibili — spesso nell’ordine dei millisecondi — anche con heap di grandi dimensioni, rendendolo particolarmente adatto ai servizi cloud che devono elaborare grandi volumi di dati e richieste simultanee.
Accanto a queste evoluzioni, la roadmap della piattaforma include anche Project Leyden, un’iniziativa della comunità OpenJDK che mira a migliorare i tempi di avvio delle applicazioni e a ridurre il footprint del runtime.
L’obiettivo del progetto è spostare parte del lavoro normalmente svolto durante l’esecuzione dell’applicazione verso la fase di build. In questo modo il runtime può avviare i programmi più rapidamente e utilizzare meno risorse, un aspetto particolarmente rilevante nei sistemi cloud e nelle architetture basate su microservizi.
Questi interventi riflettono anche l’obiettivo di rendere la piattaforma sempre più adatta a workload data-intensive e applicazioni basate su intelligenza artificiale.
Le applicazioni moderne devono spesso elaborare grandi quantità di dati, integrare modelli di machine learning e sfruttare acceleratori hardware — come GPU o altri dispositivi specializzati — attraverso librerie native ad alte prestazioni. L’evoluzione del runtime Java mira quindi a migliorare l’efficienza dell’esecuzione e a facilitare l’integrazione con queste librerie, rendendo la piattaforma più adatta a gestire questo tipo di carichi di lavoro.
Nel complesso queste evoluzioni rafforzano il ruolo della JVM come runtime per applicazioni distribuite su larga scala, un contesto in cui efficienza, scalabilità e gestione delle risorse sono diventati fattori sempre più critici.
HTTP/3 porta il networking Java nella nuova generazione del web
Java 26 introduce anche un aggiornamento significativo nelle capacità di networking della piattaforma.
Con JEP 517 l’HTTP Client API del JDK viene aggiornata per supportare HTTP/3, il protocollo di nuova generazione basato su QUIC.
HTTP/3 rappresenta un’evoluzione importante rispetto ai protocolli HTTP precedenti. A differenza di HTTP/1.1 e HTTP/2, che utilizzano TCP come protocollo di trasporto, HTTP/3 si basa su QUIC, un protocollo progettato per ridurre la latenza delle comunicazioni e migliorare la resilienza delle connessioni di rete.
Uno dei vantaggi principali di questo approccio è la possibilità di evitare alcuni dei limiti tipici delle connessioni TCP tradizionali, come il cosiddetto head-of-line blocking. In questo scenario un singolo pacchetto perso può rallentare la trasmissione dell’intero flusso di dati. QUIC consente invece di gestire flussi multipli in modo indipendente, riducendo l’impatto di eventuali ritardi o perdite di pacchetti.
L’integrazione di HTTP/3 nell’HTTP Client del JDK consente alle applicazioni Java di comunicare con server che supportano il nuovo protocollo senza modifiche sostanziali al codice esistente. Gli sviluppatori possono continuare a utilizzare le API standard della piattaforma, mentre il runtime gestisce automaticamente l’utilizzo del protocollo più adatto.
Questo aggiornamento è particolarmente rilevante nelle architetture basate su microservizi, API distribuite e infrastrutture cloud, dove le prestazioni della rete incidono direttamente sulla reattività complessiva delle applicazioni.
Il supporto a HTTP/3 consente inoltre alla piattaforma Java di allinearsi alle infrastrutture web moderne — come CDN, piattaforme cloud e servizi web ad alte prestazioni — che stanno progressivamente adottando questo protocollo come nuovo standard di comunicazione.
Sicurezza e crittografia: l’evoluzione degli standard nella piattaforma Java
Tra le innovazioni introdotte con Java 26, la sicurezza rappresenta uno dei filoni più rilevanti. Negli ultimi anni la piattaforma ha progressivamente rafforzato la propria infrastruttura crittografica per rispondere alle esigenze delle applicazioni enterprise e adattarsi all’evoluzione degli standard di sicurezza.
Java è ampiamente utilizzato in contesti in cui la protezione dei dati è critica, come sistemi bancari, infrastrutture cloud, piattaforme di pagamento e servizi governativi. In questi ambienti la piattaforma integra da tempo librerie crittografiche complete, supporto ai principali protocolli di sicurezza e una vasta gamma di algoritmi per cifratura, autenticazione e firma digitale.
Con Java 26 questa infrastruttura viene ulteriormente estesa attraverso nuove API e nuovi meccanismi progettati per migliorare la sicurezza delle applicazioni moderne e facilitare l’integrazione con le infrastrutture cloud.
Una delle novità più significative è l’introduzione del supporto alla Hybrid Public Key Encryption (HPKE).
HPKE è uno schema definito nello standard RFC 9180, progettato per applicazioni distribuite e protocolli di comunicazione moderni. Il modello combina tecniche di crittografia asimmetrica e simmetrica per ottenere sia sicurezza sia efficienza.
In pratica HPKE consente di stabilire una chiave segreta tra due sistemi tramite crittografia a chiave pubblica e di utilizzare successivamente quella chiave per cifrare i dati con algoritmi simmetrici molto più veloci. Questo schema è particolarmente adatto alle architetture moderne basate su API e microservizi, dove le applicazioni devono stabilire connessioni sicure in modo dinamico e con latenza ridotta.
L’integrazione di HPKE nella piattaforma Java consente agli sviluppatori di implementare protocolli di sicurezza moderni e interoperabili utilizzando direttamente le API standard del JDK.
Java 26 introduce inoltre miglioramenti alle API per la gestione degli oggetti crittografici, con nuove funzionalità per la codifica e la decodifica nel formato PEM, uno standard ampiamente utilizzato per rappresentare chiavi private, certificati digitali e catene di certificazione.
La gestione manuale di questi file rappresenta spesso una fonte di errori di configurazione nelle infrastrutture di sicurezza. Le nuove API consentono di gestire questi oggetti in modo più strutturato e sicuro, migliorando l’interoperabilità con altri sistemi e riducendo la probabilità di errori applicativi.
La roadmap della crittografia post-quantum
Un altro aspetto sempre più importante della roadmap crittografica della piattaforma riguarda la preparazione all’era post-quantum.
L’evoluzione dei computer quantistici potrebbe infatti compromettere molti degli algoritmi crittografici oggi utilizzati nelle infrastrutture digitali. Tecniche come RSA, Diffie-Hellman e molte varianti di crittografia basata su curve ellittiche si basano su problemi matematici — come la fattorizzazione di grandi numeri o il logaritmo discreto — che potrebbero essere risolti molto più rapidamente da computer quantistici tramite algoritmi come quello di Shor.
Per questo motivo la comunità della sicurezza informatica sta lavorando allo sviluppo di nuovi algoritmi progettati per resistere a questo tipo di attacchi. Il processo più avanzato è quello guidato dal NIST (National Institute of Standards and Technology), che negli ultimi anni ha selezionato diversi algoritmi destinati a diventare i primi standard della crittografia post-quantum.
Tra questi figurano CRYSTALS-Kyber, utilizzato per cifratura e scambio di chiavi, e CRYSTALS-Dilithium, progettato per le firme digitali. Accanto a questi algoritmi il NIST ha selezionato anche Falcon e SPHINCS+, che offrono approcci alternativi basati rispettivamente su strutture matematiche compatte e su funzioni hash.
Questi algoritmi non sono ancora implementati direttamente nel JDK. Tuttavia l’architettura crittografica della piattaforma Java consente già di integrarli tramite provider esterni.
Il sistema di sicurezza di Java si basa infatti sulla Java Cryptography Architecture (JCA) e sulla Java Cryptography Extension (JCE), che separano le API utilizzate dalle applicazioni dalle implementazioni concrete degli algoritmi.
Grazie a questo modello nuovi algoritmi possono essere introdotti nella piattaforma senza modificare il codice applicativo. Le applicazioni continuano a utilizzare le stesse interfacce standard mentre i provider sottostanti implementano nuovi algoritmi o nuove tecniche di cifratura.
Questa architettura rende la piattaforma particolarmente adatta ad affrontare transizioni crittografiche di lungo periodo, come quella verso gli algoritmi post-quantum.
In questa fase di evoluzione molte infrastrutture stanno adottando schemi crittografici ibridi, nei quali algoritmi tradizionali e algoritmi post-quantum vengono utilizzati insieme nello stesso protocollo. Questo approccio consente di mantenere compatibilità con i sistemi esistenti mentre si introducono progressivamente nuove tecniche di cifratura.
La necessità di prepararsi a questa transizione è legata anche allo scenario noto come “harvest now, decrypt later”, nel quale dati cifrati oggi potrebbero essere intercettati e conservati con l’obiettivo di decifrarli in futuro quando computer quantistici più avanzati diventeranno disponibili.
Per organizzazioni che gestiscono dati sensibili con cicli di vita molto lunghi — come archivi finanziari, dati sanitari o informazioni governative — prepararsi a questa evoluzione rappresenta già oggi una priorità.
Java e intelligenza artificiale: il ruolo della piattaforma nell’AI enterprise
Molte delle evoluzioni della piattaforma Java riflettono una trasformazione più ampia del ruolo del linguaggio nell’ecosistema tecnologico.
Negli ultimi anni l’intelligenza artificiale è diventata uno dei principali motori dell’innovazione software. In questo contesto Python si è affermato come linguaggio dominante per la ricerca e lo sviluppo di modelli di machine learning, grazie alla diffusione di librerie come TensorFlow, PyTorch e scikit-learn.
Java continua tuttavia a mantenere una posizione estremamente solida nell’infrastruttura enterprise. Molte organizzazioni utilizzano la piattaforma per gestire sistemi bancari, piattaforme di e-commerce, sistemi di gestione dei dati e servizi cloud su larga scala.
In questo scenario il ruolo di Java non consiste necessariamente nell’addestramento dei modelli di machine learning, ma nella capacità di integrare modelli di intelligenza artificiale all’interno delle applicazioni aziendali esistenti.
Applicazioni che gestiscono pagamenti, logistica, raccomandazioni o analisi dei dati devono spesso integrare modelli sviluppati in altri ambienti. La piattaforma Java rappresenta quindi il livello nel quale questi modelli vengono orchestrati all’interno dei processi aziendali, delle API e dei servizi cloud.
La strategia delineata per l’evoluzione di Java nell’ambito dell’intelligenza artificiale si articola su più livelli. Da un lato la piattaforma continua a migliorare la capacità di integrare modelli AI nelle applicazioni enterprise. Dall’altro la roadmap OpenJDK introduce nuovi progetti pensati per rendere la JVM più efficiente nei carichi di lavoro tipici del machine learning e dell’elaborazione dei dati.
Per supportare l’evoluzione delle applicazioni basate su intelligenza artificiale e workload data-intensive, la comunità OpenJDK sta sviluppando diversi progetti destinati a influenzare l’evoluzione della piattaforma nei prossimi anni.
Panama, Valhalla e Babylon: i progetti OpenJDK per l’AI
Tra le iniziative più rilevanti figurano Project Panama, Project Valhalla e Project Babylon, tre progetti che intervengono su livelli diversi della piattaforma ma che condividono l’obiettivo di migliorare l’efficienza del runtime e l’integrazione con librerie e modelli di calcolo utilizzati nelle applicazioni moderne.
Uno dei limiti storici di Java nel campo del calcolo scientifico e dell’intelligenza artificiale è stato il rapporto con il codice nativo.
Molti framework di machine learning e di elaborazione numerica sono sviluppati in linguaggi come C o C++, che consentono un accesso diretto alle risorse hardware e alle librerie ottimizzate per il calcolo ad alte prestazioni.
Tradizionalmente Java poteva interagire con queste librerie tramite JNI (Java Native Interface), un meccanismo potente ma complesso da utilizzare e che richiede una gestione manuale della memoria.
Il Project Panama introduce la Foreign Function & Memory API, progettata per semplificare l’interazione tra codice Java e librerie native.
Questa API consente alle applicazioni Java di chiamare direttamente funzioni native e di gestire memoria esterna alla JVM in modo più sicuro ed efficiente. In pratica diventa molto più semplice utilizzare da Java librerie ottimizzate per il calcolo numerico, GPU computing o acceleratori hardware.
Per i carichi di lavoro basati su intelligenza artificiale questo rappresenta un passo importante, perché consente alla piattaforma Java di sfruttare infrastrutture hardware avanzate senza ricorrere a integrazioni complesse.
Project Valhalla: strutture dati più efficienti
Un altro progetto chiave per l’evoluzione della piattaforma è Project Valhalla, che introduce nuovi tipi di oggetti chiamati value objects.
La JVM distingue tradizionalmente tra tipi primitivi, come int o double, e oggetti complessi. Questa distinzione può introdurre inefficienze quando si devono gestire grandi quantità di dati numerici, una situazione comune nelle applicazioni di machine learning.
Valhalla introduce strutture dati che combinano alcune caratteristiche degli oggetti con l’efficienza dei tipi primitivi. Questi nuovi tipi consentono di ridurre l’overhead di memoria e migliorare l’efficienza della cache dei processori.
Il progetto introduce inoltre il concetto di specialized generics, che permette di utilizzare tipi primitivi all’interno delle strutture generiche senza operazioni di boxing e unboxing, migliorando ulteriormente prestazioni e consumo di memoria.
Queste innovazioni sono particolarmente rilevanti nei contesti in cui le applicazioni devono elaborare grandi quantità di dati numerici, come nel caso dei modelli di machine learning.
Project Babylon: un nuovo modello di programmazione per l’AI
Se Panama migliora l’interoperabilità con librerie native e Valhalla l’efficienza delle strutture dati, Project Babylon rappresenta una delle iniziative più ambiziose della roadmap Java per l’intelligenza artificiale.
L’obiettivo del progetto è sviluppare nuovi strumenti e modelli di programmazione che rendano più semplice integrare pipeline di elaborazione dati e modelli AI direttamente nelle applicazioni Java.
Babylon mira a introdurre meccanismi che consentano al linguaggio di comprendere e manipolare strutture computazionali più complesse rispetto al semplice codice eseguibile.
In prospettiva questo progetto potrebbe consentire alla piattaforma Java di gestire in modo più naturale pipeline di inferenza, acceleratori hardware e modelli di machine learning, trasformando la JVM in un ambiente sempre più adatto allo sviluppo di applicazioni intelligenti su larga scala.
Verso una maggiore interoperabilità tra linguaggi
Accanto ai progetti orientati alle prestazioni e all’integrazione con l’hardware, la roadmap dell’ecosistema Java include anche iniziative pensate per migliorare l’interoperabilità con altri linguaggi di programmazione.
Negli ultimi anni molti degli strumenti più utilizzati in ambiti come l’intelligenza artificiale, l’analisi dei dati e l’automazione sono stati sviluppati principalmente negli ecosistemi Python e JavaScript. Questo ha creato una situazione nella quale le applicazioni enterprise sviluppate in Java devono spesso interagire con librerie o componenti scritti in altri linguaggi.
La piattaforma Java ha storicamente offerto diversi meccanismi di integrazione, ma queste soluzioni richiedono spesso adattamenti o layer di compatibilità che possono aumentare la complessità dei sistemi.
Per affrontare questa sfida la comunità OpenJDK sta lavorando a una nuova iniziativa pensata per semplificare l’integrazione tra Java e altri linguaggi.
Integrare Python e JavaScript nell’ecosistema Java
L’iniziativa Project Detroit ha l’obiettivo di semplificare l’utilizzo di librerie sviluppate in altri linguaggi all’interno delle applicazioni Java.
La proposta prevede la possibilità di eseguire codice Python e JavaScript direttamente nell’ambiente Java utilizzando i runtime originali dei due linguaggi, rispettivamente CPython e V8.
In questo modo le applicazioni Java potrebbero accedere a librerie esistenti senza richiedere una riscrittura completa del codice o la creazione di binding specifici.
Uno dei casi d’uso più evidenti riguarda proprio l’intelligenza artificiale. Molte delle librerie più diffuse per il machine learning e per l’elaborazione dei dati sono sviluppate principalmente nell’ecosistema Python. La possibilità di utilizzare queste librerie direttamente nelle applicazioni Java consentirebbe di sfruttare l’infrastruttura enterprise della piattaforma mantenendo al tempo stesso l’accesso agli strumenti più avanzati dell’ecosistema AI.
Il progetto si inserisce inoltre nella strategia più ampia avviata con Project Panama, che mira a semplificare l’accesso al codice nativo e alle librerie esterne.
Un altro obiettivo dichiarato dell’iniziativa è migliorare l’isolamento tra il runtime Java e i componenti eseguiti nei runtime esterni. Questo approccio consente di mantenere separati l’heap della JVM e quello dei runtime nativi, migliorando la sicurezza delle applicazioni e riducendo i rischi associati all’esecuzione di codice esterno.
Dal punto di vista della manutenzione, l’integrazione diretta con i runtime ufficiali di Python e JavaScript permetterebbe inoltre di sfruttare gli investimenti già effettuati nelle ottimizzazioni delle prestazioni di questi ambienti.
Secondo i piani discussi nella roadmap OpenJDK, Project Detroit potrebbe essere proposto come nuovo progetto ufficiale OpenJDK. In prospettiva le sue componenti potrebbero entrare nell’ecosistema delle tecnologie supportate da Oracle, sotto forma di runtime JavaScript e Python basati rispettivamente su V8 e CPython integrati nella piattaforma Java.
Java Verified Portfolio: verso un ecosistema Java più integrato e governato
Accanto alle innovazioni tecniche della piattaforma, Oracle ha introdotto anche una novità strategica: il Java Verified Portfolio (JVP), una raccolta curata di tecnologie complementari al JDK, distribuite e supportate direttamente da Oracle e pensate per offrire alle organizzazioni un riferimento più stabile per la costruzione delle proprie applicazioni.
L’obiettivo è fornire un insieme di strumenti compatibili con le diverse versioni della piattaforma Java, dotati di roadmap chiare e supporto ufficiale, riducendo i rischi operativi per le aziende che adottano queste tecnologie nei propri sistemi mission-critical.
L’iniziativa nasce anche per affrontare una delle sfide storiche dell’ecosistema Java: la sua enorme frammentazione.
Nel corso degli anni migliaia di librerie e framework open source si sono sviluppati attorno alla JVM, spesso con modelli di governance differenti e cicli di aggiornamento non sempre allineati alla piattaforma principale. Questa ricchezza ha rappresentato una grande forza per la comunità degli sviluppatori, ma ha anche reso più complesso per molte organizzazioni orientarsi tra le diverse opzioni disponibili e valutare il livello di supporto e affidabilità dei vari componenti.
Il Java Verified Portfolio introduce quindi un livello intermedio tra il runtime Java — rappresentato dal JDK — e l’ampio ecosistema open source che lo circonda.
Il JDK continua a essere sviluppato come piattaforma open source attraverso il progetto OpenJDK e rimane il cuore dell’ambiente di esecuzione Java. Il portfolio raccoglie invece tecnologie che ampliano le funzionalità della piattaforma ma che, per ragioni architetturali o di governance, non fanno parte del runtime principale.
In questo modo Oracle cerca di creare una distinzione più chiara tra ciò che appartiene alla piattaforma standard e ciò che costituisce il suo ecosistema operativo.
JavaFX, Helidon e strumenti di sviluppo nel Java Verified Portfolio
Tra i primi componenti inclusi nel portfolio figurano JavaFX, Helidon e l’estensione Java per Visual Studio Code, tre tecnologie che riflettono ambiti fondamentali dello sviluppo software contemporaneo: interfacce utente avanzate, architetture cloud-native e strumenti per sviluppatori.
Una delle decisioni più significative riguarda JavaFX, il framework grafico utilizzato per costruire applicazioni desktop Java.
Negli ultimi anni JavaFX è stato sviluppato principalmente come progetto open source separato dal JDK. Con l’introduzione del Java Verified Portfolio Oracle ha deciso di ripristinare un supporto commerciale ufficiale, destinato in particolare alle organizzazioni che utilizzano JavaFX in applicazioni enterprise o in ambienti regolamentati.
Il supporto sarà disponibile per tutte le versioni Java che rientrano nel ciclo di supporto a lungo termine e coprirà l’intero periodo di Premier Support di cinque anni previsto da Oracle.
L’azienda ha inoltre annunciato l’estensione del supporto per JavaFX su JDK 8 fino al 2028, una decisione che riflette la presenza ancora significativa di applicazioni legacy basate su questa versione della piattaforma.
Dal punto di vista tecnologico JavaFX continua a rappresentare uno strumento importante per lo sviluppo di applicazioni con interfacce grafiche avanzate. Il framework viene utilizzato in particolare per la realizzazione di dashboard interattive, strumenti di analisi dati e applicazioni scientifiche, oltre che per la costruzione di interfacce utente per sistemi basati su intelligenza artificiale.
In questo contesto JavaFX rappresenta la componente dell’ecosistema Java dedicata alla costruzione di esperienze utente avanzate, un ambito che mantiene un ruolo rilevante in settori come l’analisi dei dati, la visualizzazione scientifica e i sistemi di controllo industriale.
Helidon: il framework cloud-native di Oracle
Il secondo componente del portfolio è Helidon, un framework open source progettato per lo sviluppo di microservizi Java.
Helidon è stato sviluppato da Oracle per offrire un’alternativa moderna ai framework Java tradizionali, con caratteristiche specifiche per il cloud-native computing. Il framework è progettato attorno a un’architettura orientata ai microservizi e include strumenti pensati per facilitare l’implementazione di servizi distribuiti.
Tra le sue caratteristiche principali figurano l’integrazione con container e orchestratori come Kubernetes e il supporto a diversi protocolli utilizzati nello sviluppo di API moderne, tra cui REST, GraphQL e gRPC.
Helidon sfrutta inoltre alcune delle innovazioni più recenti della piattaforma Java, in particolare i virtual threads introdotti con Project Loom. Questa tecnologia consente di gestire un numero molto elevato di operazioni concorrenti con un overhead ridotto rispetto ai thread tradizionali.
Il framework è progettato per essere leggero e ad alte prestazioni, con particolare attenzione alla semplicità di sviluppo e alla produttività degli sviluppatori.
Helidon include inoltre integrazioni con strumenti di intelligenza artificiale come LangChain4j, che permettono di costruire agenti AI e servizi intelligenti direttamente all’interno di microservizi Java.
Oracle ha dichiarato inoltre l’intenzione di allineare il ciclo di rilascio di Helidon con quello del JDK e di valutare la possibilità di proporre il framework come progetto ufficiale OpenJDK, rafforzando ulteriormente l’integrazione con la piattaforma Java.
In questo modo Helidon rappresenta il versante cloud-native del Java Verified Portfolio, rispondendo all’evoluzione delle applicazioni enterprise verso architetture distribuite basate su container e orchestratori.
Supporto ufficiale per Java su Visual Studio Code
Il terzo elemento del Java Verified Portfolio riguarda gli strumenti di sviluppo.
La Java Platform Extension for Visual Studio Code entra nel portfolio con supporto commerciale ufficiale da parte di Oracle.
Il plugin consente di sviluppare applicazioni Java all’interno dell’editor Visual Studio Code utilizzando direttamente il compilatore javac di OpenJDK e il debugger standard della JVM.
L’estensione supporta inoltre le nuove funzionalità del JDK anche nelle versioni Early Access, permettendo agli sviluppatori di sperimentare le innovazioni della piattaforma prima della loro introduzione nelle release ufficiali.
Con oltre cinque milioni di download, l’estensione è diventata uno degli strumenti più utilizzati dagli sviluppatori Java che preferiscono editor leggeri e modulari rispetto agli ambienti di sviluppo integrati tradizionali.
Il supporto ufficiale da parte di Oracle rafforza la presenza della piattaforma Java nell’ecosistema di Visual Studio Code e riflette l’attenzione crescente verso la developer experience, diventata una dimensione sempre più importante nell’evoluzione degli strumenti di sviluppo.
Accanto al supporto agli ambienti di sviluppo, la roadmap della piattaforma include anche iniziative pensate per rendere Java più accessibile agli sviluppatori e facilitare l’apprendimento del linguaggio. Tra queste figurano il supporto ai notebook Java in Visual Studio Code, che permette di eseguire e documentare codice in modo interattivo, e l’evoluzione del Java Playground, una piattaforma online che consente di eseguire snippet Java direttamente nel browser e condividerli tramite link.
Questi strumenti riflettono l’attenzione crescente della piattaforma verso il developer onboarding, un aspetto considerato sempre più importante per ampliare la comunità degli sviluppatori Java.
Verso una nuova fase evolutiva
Nel suo insieme Java 26 non introduce una singola innovazione rivoluzionaria, ma rappresenta un ulteriore passo nell’evoluzione progressiva della piattaforma.
Le novità del linguaggio, gli aggiornamenti della JVM, il supporto a protocolli di rete più moderni, l’evoluzione dell’infrastruttura di sicurezza e la crescente integrazione con l’ecosistema dell’intelligenza artificiale mostrano come Java continui ad adattarsi alle esigenze dello sviluppo software contemporaneo.
Allo stesso tempo iniziative come il Java Verified Portfolio e i nuovi progetti OpenJDK evidenziano la volontà di rafforzare l’ecosistema della piattaforma, offrendo agli sviluppatori e alle organizzazioni strumenti sempre più integrati e coerenti.
A oltre trent’anni dalla sua introduzione, Java continua a occupare un ruolo centrale in molte infrastrutture software enterprise.
La direzione intrapresa con Java 26 indica chiaramente l’obiettivo di mantenere questo ruolo anche nell’era del cloud, dei microservizi e dell’intelligenza artificiale.












