
Oracle ha appena rilasciato Java 25, la sedicesima release con cadenza semestrale che segna un momento cruciale per una delle piattaforme di sviluppo più longeve dell’industria tecnologica. Chad Arimura, VP Java Developer Relations, Donald Smith, VP Java Product Management e Bernard Traversat, VP Java Development, tutti di Oracle, hanno illustrato le caratteristiche e le capacità della nuova versione 25 della piattaforma Java. Le novità riguardano tutti gli ambiti, tra cui linguaggio, prestazioni, monitoraggio e sicurezza.
Una strategia di rilascio che ha cambiato tutto
Il successo attuale di Java è strettamente legato alla rivoluzione introdotta dalla cadenza di rilascio semestrale, implementata a partire dal 2017. Questo modello ha permesso di introdurre 16 release in sette anni, portando innovazioni costanti che prima richiedevano tre-quattro anni per vedere la luce.
La strategia “tip and tail” adottata da Oracle consente ai team di ingegneria di lavorare costantemente sulle versioni future (tip, ovvero la punta) mentre mantiene il supporto a lungo termine per le versioni stabili (tail, la coda).
Le aziende possono così scegliere se aggiornare seguendo la cadenza di rilascio oppure fermarsi su una determinata versione e caricare patch a lungo termine. Questa politica consente di ottenere un buon equilibrio tra gli sviluppatori che desiderano disporre rapidamente delle nuove funzionalità e quelli che preferiscono una versione supportata per molti anni a venire.
Java 25 rappresenta una release LTS (Long Term Support), la seconda in due anni dopo Java 21, confermando il nuovo ritmo accelerato rispetto ai tre anni originariamente previsti.
Java 25: diciotto innovazioni per il futuro
La nuova release include 18 proposte di miglioramento del JDK (JEP), che spaziano dal linguaggio alle librerie, dalla sicurezza alle prestazioni. Tra le novità più significative emerge il JEP 512, che completa il progetto “Paving the On-Ramp” rendendo Java più accessibile a studenti e nuovi sviluppatori.
Il cambiamento è evidente confrontando il tradizionale “Hello World” Java con la sua versione semplificata in Java 25. Se prima gli studenti dovevano confrontarsi con concetti complessi come “public static void main”, ora possono scrivere semplicemente void main() { IO.println(“Hello World”); }, eliminando barriere all’apprendimento senza compromettere la crescita verso applicazioni più complesse.
Le dichiarazioni di importazione dei moduli semplificano l’importazione di gruppi di pacchetti, mentre il pattern matching sui primitivi completa un’area che sembrava incompiuta.
Prestazioni in crescita costante
I benefici delle ottimizzazioni non si limitano alle nuove funzionalità. Test condotti su Helidon, framework per microservizi sviluppato in Oracle, mostrano incrementi prestazionali del 72-74% passando da Java 21 a Java 25 senza alcuna modifica al codice.
Chad Arimura
Semplicemente procedendo senza modificare alcun codice, vedrete subito i vantaggi del lavoro sulla piattaforma che svolgiamo.
Questi miglioramenti derivano dal lavoro sui progetti di lungo termine che caratterizzano la roadmap Java. Il progetto Loom introduce i thread virtuali, che sono molto leggeri ed è possibile farne girare milioni in contemporanea, per una migliore scalabilità. Il progetto ZGC riguarda il raggiungimento di tempi di pausa inferiori al millisecondo per il garbage collector (GC), un vero e proprio thread in esecuzione parallelamente al programma. La popolarità del GC sta aumentando man mano che migliorano le sue prestazioni, soprattutto nel caso di elevati carichi di lavoro, come il machine learning. Il progetto Panama riguarda l’interfacciamento con funzioni, memoria e codice esterni, per esempio programmi scritti in C oppure librerie di apprendimento automatico in codice macchina.
Con il progetto Amber, Oracle vuole migliorare il linguaggio Java, rendendolo più conciso e facile da insegnare. In questo modo Java diventa più orientato ai dati e più alla portata degli studenti. Il progetto Leyden punta a rendere più veloce la partenza di un programma Java, mentre Valhalla ha lo scopo di migliorare la gestione della memoria, in particolare della cache. Babylon è il progetto più recente e riguarda l’interfacciamento con diversi modelli di programmazione, come CUDA e SQL.
Verso l’intelligenza artificiale
Oracle ha identificato tre principali casi d’uso per Java nell’era dell’AI: la generazione di codice tramite strumenti come Oracle Code Assist, l’integrazione di LLM nelle applicazioni esistenti, lo sviluppo e il deployment di modelli personalizzati.
La piattaforma risponde con framework dedicati come Langchain4j, Spring AI e il neonato Embabel, che adotta un approccio agent-first. Java sarà un linguaggio perfettamente adatto e un’ottima piattaforma per lo sviluppo dell’intelligenza artificiale: progetti come Valhalla, Babylon e Panama stanno convergendo verso una piattaforma ottimizzata per il machine learning e il data science.
Il Progetto HAT (Heterogeneous Accelerator Toolkit) dimostra concretamente questa evoluzione, mostrando come Java possa interfacciarsi efficacemente con modelli di programmazione esterni come CUDA e SQL, mantenendo la programmazione ad alto livello.
Crittografia post-quantistica: prepararsi al futuro
Donald Smith
Oggi tutti vogliono avere informazioni sulla crittografia post-quantistica e desiderano sapere cosa stia facendo la piattaforma Java per pianificare l’abbandono degli schemi crittografici tradizionali. Oracle sta lavorando da anni per preparare Java alla transizione dagli schemi crittografici tradizionali, imparando dall’esperienza della migrazione a TLS 1.3, introdotta nel 2018.
La sfida che Oracle ha dovuto affrontare con la piattaforma Java è Java 8, lanciato nel 2014 e diventato una delle versioni più rapidamente adottate. L’esperienza ha insegnato l’importanza di garantire che le nuove implementazioni crittografiche siano performanti e stabili, evitando che i clienti debbano scegliere tra sicurezza e prestazioni.
Java 25 include API per la derivazione delle chiavi resistenti ai computer quantistici, mentre si lavora a un JEP per integrare completamente la crittografia post-quantistica in TLS 1.3, probabilmente disponibile in JDK 26 o 27, in attesa delle specifiche IETF definitive.
Un ecosistema in crescita
La vitalità di Java si riflette nell’ecosistema che lo circonda. Oracle mantiene oltre 400 Java User Group in tutto il mondo e circa 450 Java Champions. Grazie a Oracle Academy, che collabora con l’istruzione in tutto il mondo, e a Oracle University, che continua a certificare gli sviluppatori Java, recentemente è stato superato il milione di sviluppatori certificati. Il plugin Java per Visual Studio Code ha raggiunto quasi 4 milioni di download, testimoniando l’adozione della piattaforma anche tra le nuove generazioni di sviluppatori.
I nuovi siti learn.java e dev.java differenziano l’offerta formativa tra principianti e professionisti, rispettivamente, mentre il playground online permette di scrivere ed eseguire codice Java direttamente nel browser, facilitando l’apprendimento e la condivisione di esempi.
Una piattaforma che sfida il tempo
Dopo oltre trent’anni, Java continua a crescere e a evolversi. Oggi esistono miliardi e miliardi di JVM attive e in continua crescita, includendo altri linguaggi che sfruttano la stabilità e le prestazioni delle macchine virtuali Java.
La compatibilità rimane un pilastro fondamentale: è possibile prendere un programma in Java scritto 25 anni fa ed eseguirlo oggi su una JVM, spesso senza alcuna modifica. Questa promessa di continuità, combinata con l’innovazione costante, rappresenta il segreto di una piattaforma che sfida le leggi dell’obsolescenza tecnologica.
Java 25 non è semplicemente un aggiornamento, ma la dimostrazione che una tecnologia matura può reinventarsi per affrontare le sfide future, dall’intelligenza artificiale alla sicurezza quantistica, mantenendo la sua promessa fondamentale di stabilità e compatibilità. Questo successo è tutt’altro che casuale: è il risultato di una strategia lungimirante che ha saputo anticipare e abbracciare i cambiamenti dell’industria tecnologica.”