Java 25 LTS arriva con una sintassi più semplice, funzionalità AI-ready e supporto a lungo termine

Ultimo aggiornamento: 09/24/2025
  • JEP 512 introduce file sorgente compatti e metodi principali di istanza, rimuovendo il codice boilerplate per i primi programmi.
  • Miglioramenti incentrati sull'intelligenza artificiale: importazioni di moduli JEP 511, adozione di thread virtuali e API vettoriale (JEP 508).
  • Prestazioni ed efficienza: testate per oggetti compatte (JEP 519) più ergonomia AOT del Progetto Leyden (JEP 514/515).
  • Piano LTS: aggiornamenti gratuiti fino a settembre 2028 e supporto commerciale almeno fino a settembre 2033; GraalVM per JDK 25 viene distribuito contemporaneamente.

Java 25

Java 25 è ora disponibile al pubblico come versione di supporto a lungo termine e il suo obiettivo principale è chiaro: rendere il linguaggio più facile da usare, mantenendolo al contempo di livello produttivo per sistemi di grandi dimensioni. In pratica, ciò significa meno boilerplate per piccoli programmi, una migliore ergonomia per i carichi di lavoro moderni e una finestra di supporto definita in base alla quale le aziende possono pianificare.

Invece di costringere i nuovi arrivati ​​a una cerimonia solo per stampare un messaggio, i progettisti della piattaforma hanno creato un percorso di accesso più fluido. Oracle descrive la release come un modo per consentire agli utenti di scrivere rapidamente i loro primi programmi Java senza doversi mettere alle strette in seguito. Il risultato è un'esperienza più amichevole nella prima ora che è comunque scalabile per applicazioni complete.

Un accesso più fluido: file sorgente compatti e istanza principale

Al centro della release c'è JEP 512, Compact Source Files and Instance Main Methods. Grazie a questa release, i principianti possono compilare ed eseguire programmi concisi senza dover racchiudere tutto in una classe o digitare. public static void main(String[] args)Questo cambiamento taglia l'intimidatoria impalcatura e sottolinea gli aspetti essenziali della codifica rispetto alle banalità della sintassi.

Oracle ha modificato la funzionalità tra l'anteprima e la GA: un'idea per importare implicitamente determinati helper I/O è stato rimosso. Il ragionamento era pragmatico: nascondere le importazioni potrebbe essere utile il primo giorno, ma può diventare un ostacolo quando il codice cresce. Questa modifica mira a mantenere la curva di apprendimento fluida mentre preservare chiari percorsi di crescita man mano che i progetti si espandono.

Sia gli educatori che gli analisti hanno evidenziato l'impatto sull'apprendimento precoce e sulle utilità rapide. La capacità di scrivere semplici script, demo o strumenti da riga di comando senza cerimonie significa Amministratori IT e studenti è possibile ottenere risultati in meno passaggi, per poi adottare gradualmente il linguaggio completo quando necessario.

Ecosistema educativo e di apprendimento

I cambiamenti linguistici sono accompagnati da cambiamenti nell'ecosistema. Oracle sta collaborando con il College Board per aggiornare l'AP Computer Science A in modo che le lezioni delle scuole superiori riflettano il Java moderno piuttosto che i programmi tradizionali. Molti programmi erano ancorati a versioni precedenti e questo sforzo aggiorna i materiali didattici.

È disponibile anche un nuovo sito Learn.java, dedicato ai programmatori alle prime armi, distinto dal portale Dev.java, dedicato agli sviluppatori. Java Playground, basato su browser, ora supporta la condivisione di frammenti, consentendo agli insegnanti di pubblicare esercizi che gli studenti possono eseguire senza alcuna configurazione, riducendo l'attrito per aule e autodidatti.

Gli studiosi sottolineano che l'approccio "senza cerimonie" aiuta i principianti a passare dalle basi alla programmazione orientata agli oggetti a un ritmo naturale. Anche gli sviluppatori esperti ne traggono vantaggio, perché le stesse funzionalità velocizzare la scrittura quotidiana degli script e piccole attività che prima risultavano pesanti in Java.

Flussi di lavoro incentrati sull'intelligenza artificiale e concorrenza moderna

JEP 511, Module Import Declarations, semplifica l'inserimento di interi moduli, il che è utile per piccoli programmi che combinano inferenza, accesso ai dati e orchestrazione. Nel frattempo, i thread virtuali (introdotti in Java 21 e ampiamente adottati da allora) continuano a essere utili per carichi di lavoro che generano un numero elevato di attività leggere; molti scenari di intelligenza artificiale si adattano a questo modello, quindi la concorrenza sembra più naturale rispetto al passato.

Anche lo slancio del framework è importante. Librerie come LangChain4j e Spring AI hanno raggiunto traguardi stabili, facilitando l'integrazione delle funzionalità di intelligenza artificiale nelle applicazioni Java. Sebbene non siano esclusive di Java 25, questi strumenti si integrano perfettamente con le semplificazioni della release, aiutando gli sviluppatori a passare dal prototipo alla produzione con meno ostacoli all'integrazione.

Dalle prime sceneggiature ai lungometraggi di produzione

Oltre la rampa di accesso, Java 25 continua a evolvere il linguaggio e il runtime. JEP 507, Primitive Types in Patterns, instanceof e switch, estende il pattern matching alle primitive, rafforzando l'adattamento tra gli idiomi Java moderni e il codice sensibile alle prestazioni. L'obiettivo è rendere la logica comune più espressiva, mantenendo costi di esecuzione prevedibili.

JEP 505, Concorrenza Strutturata, fornisce un modello per la supervisione di attività parallele come un'unità, migliorando l'affidabilità e l'osservabilità nel codice concorrente. In combinazione con JEP 506, Valori Scopati, gli sviluppatori ottengono modi più semplici per condividere dati immutabili tra thread, ottenendo programmazione parallela più sicura modelli.

Per i percorsi di elaborazione numerica, JEP 508 spinge in avanti l'API Vector, frequentemente utilizzata nell'inferenza AI e nei carichi di lavoro ad alta intensità di calcolo. Queste API consentono al codice di mappare le istruzioni vettoriali della CPU in modo più efficiente, traducendosi in una migliore produttività senza ricorrere a deviazioni del codice nativo.

Gli strumenti collegano il percorso dall'apprendimento alla distribuzione. L'estensione VS Code di Oracle ha raggiunto milioni di download con un'ottima valutazione, segno che principianti e professionisti stanno convergendo attorno allo stesso editor. Questo ambiente condiviso contribuisce a colmare il divario tra "hello world" e servizi distribuibili.

Prestazioni, avvio ed efficienza del cloud

I team che eseguono Java nel cloud noteranno diversi miglioramenti di runtime e avvioGli sforzi anticipati del Progetto Leyden si concretizzano tramite JEP 514, Ahead-of-Time Command-Line Ergonomics, e JEP 515, Ahead-of-Time Method Profiling. Insieme, riducono i costi di avvio senza modifiche alle applicazioni, migliorando la prontezza per scenari di scalabilità orizzontale.

Anche l'utilizzo della memoria riceve attenzione con JEP 519, Compact Object Headers. Riducendo le intestazioni degli oggetti, le applicazioni Java possono comprimere più dati nello stesso spazio, utile nelle distribuzioni containerizzate in cui l'efficienza ha un impatto sui costi direttamente.

GraalVM per JDK 25

Oracle Labs ha distribuito GraalVM per JDK 25 insieme alla release. I progressi dell'immagine nativa includono un supporto migliorato per la Foreign Function & Memory API (FFM), come un nuovo stile di configurazione e un Arena.ofShared() implementazione, oltre alle operazioni di ottimizzazione iniziali relative all'API Vector. Queste modifiche mirano alle esigenze comuni di app poliglotte e a bassa latenza.

Oracle ha inoltre comunicato un'intenzione di separare GraalVM dal flusso di rilascio Java, poiché il progetto si concentra maggiormente su linguaggi non Java come GraalPy e GraalJS. Per gli sviluppatori che adottano JDK 25, l'attuale versione di GraalVM per JDK 25 rimane disponibile, mentre le modifiche alle policy indicano una strategia più ampia per tempi di esecuzione poliglotti.

Tempistiche LTS e politica di aggiornamento

Java 25 è una versione LTS con aggiornamenti prevedibili: Oracle JDK 25 riceverà aggiornamenti trimestrali di sicurezza e prestazioni secondo i termini e le condizioni senza commissioni fino a settembre 2028. Successivamente, gli aggiornamenti sono pianificati secondo la licenza Java SE OTN almeno fino a settembre 2033, offrendo alle organizzazioni una lunga pista per operazioni stabili.

Supporto dell'ecosistema per Java 25

Gli strumenti chiave sono già allineati. Gradle 9.1.0 include il supporto per JDK 25, apportando miglioramenti alla diagnostica e al reporting che semplificano gli aggiornamenti su build multi-modulo. Per gli appassionati di scripting, JBang 0.131.0 aggiunge il supporto per JEP 512, generando il file più breve void main() nei file inizializzati per mantenere gli script rapidi pulito e compatto.

La release unisce accessibilità e prestazioni: file sorgente concisi per l'apprendimento e lo scripting, concorrenza moderna per servizi basati sull'intelligenza artificiale, ottimizzazioni runtime per l'efficienza del cloud e un piano LTS chiaro. Questa combinazione offre ai nuovi arrivati ​​un inizio graduale, garantendo al contempo ai team esperti la prevedibilità e margine di manovra per scalare.

Java-3
Articolo correlato:
Aggiornamenti importanti nell'ecosistema Java: innovazioni linguistiche, miglioramenti aziendali, sicurezza ed evoluzione degli strumenti
Related posts: