È stato rilasciato Java SE 24. Scopri le sue nuove funzionalità, i miglioramenti e altro ancora.

Piattaforma Java, Standard Edition

Dopo sei mesi di sviluppo, Oracle ha annunciato il rilascio di Java SE 24, basato sul progetto open source OpenJDK, mantenendo la compatibilità con le versioni precedenti in modo che la maggior parte dei progetti sviluppati in precedenza possano continuare a funzionare senza modifiche.

A differenza delle versioni con supporto a lungo termine (LTS), Java SE 24 è una versione di supporto regolare, che implica aggiornamenti fino alla prossima versione. Per chi cerca stabilità a lungo termine, Java SE 21 e Java SE 17 continueranno a essere supportati rispettivamente fino al 2031 e al 2029. Inoltre, il supporto esteso per Java SE 8 LTS continuerà fino al 2030, mentre Java SE 11 rimarrà in vigore fino al 2032.

Miglioramenti e novità

In questa nuova versione di Java SE 24, uno dei miglioramenti più importanti è l'introduzione di Una modalità generativa sperimentale per il netturbino di Shenandoah (progettato per elaborare separatamente oggetti nuovi e vecchi). Questa nuova modalità migliora l'efficienza nella pulizia di oggetti di breve durata, ottimizza l'utilizzo della memoria e offre prestazioni più stabili in presenza di carichi variabili.

Un'altra novità che spicca è il Supporto sperimentale per intestazioni di oggetti compatti nella JVM HotSpot, riducendone la dimensione da 96 a 64 bit sui sistemi a 64 bit. Questa ottimizzazione aiuta a ridurre la dimensione dell'heap e a migliorare l'efficienza della cache di memoria.

Il netturbino G1 è stato ottimizzato anche con un restyling delle barriere che monitorano l'accesso alla memoria da parte delle applicazioni. L'espansione della barriera viene ora eseguita in una fase successiva del processo di compilazione all'interno del compilatore C2 JIT, riducendone il sovraccarico fino al 20%, a seconda del tipo di applicazione.

Miglioramenti della sicurezza e della crittografia

Java SE 24 introduce un'API per la derivazione delle chiavi crittografiche (KDF), consentendo la generazione di chiavi aggiuntive da una chiave segreta e da un insieme arbitrario di dati. Questa API, ancora in fase di anteprima, rafforza la sicurezza nella gestione delle chiavi all'interno della piattaforma.

Inoltre, Sono stati aggiunti avvisi sull'uso delle API Interfaccia nativa Java e funzione esterna e memoria, in preparazione per la futura implementazione di una modalità di integrità, che limiterà l'accesso predefinito al codice nativo. Sono stati abilitati anche gli avvisi quando si utilizzano metodi di accesso alla memoria esterna tramite la classe sun.misc.Unsafe, consigliando la migrazione all'API VarHandle.

D'altra parte, in Java SE 24 il supporto per algoritmi crittografici ML-KEM e ML-DSA (progettato per essere resistente agli attacchi del calcolo quantistico). Questi algoritmi si basano su problemi di teoria delle reti, garantendo che i tempi di soluzione siano equivalenti sia sui computer convenzionali che su quelli quantistici.

Java Security Manager, che era stato dismesso a seguito della scomparsa del supporto ai plugin del browser, è stato rimosso definitivamente.

Ottimizzazioni

JVM HotSpot ora consente il precaricamento e il collegamento anticipato delle classi, che velocizza notevolmente l'avvio dell'applicazione. Alla prima esecuzione, lo stato delle classi viene memorizzato nella cache per facilitarne il caricamento nei successivi avvii.

inoltre, L'implementazione dei valori con ambito è stata migliorata, che ora pconsente la condivisione di dati immutabili tra thread in modo più efficiente, sostituendo il tradizionale meccanismo delle variabili locali del thread. Ciò è particolarmente utile quando si lavora con milioni di thread virtuali contemporaneamente.

Un'altra novità è il ottimizzazione dei thread virtuali negli stati bloccati. In questa versione, un thread virtuale bloccato rilascia il suo thread di piattaforma, consentendone il riutilizzo da parte di altri thread, migliorando la scalabilità nei sistemi con elevato utilizzo del multithreading.

Del altri cambiamenti che risaltano:

  • Nuova estensione della Stream API, che consente di definire operazioni intermedie personalizzate.
  • I motori di ricerca dei pattern sono stati migliorati per supportare i tipi primitivi (int, byte, char, ecc.) nelle espressioni switch e nell'operatore instanceof.
  • È stata aggiunta una quarta versione di anteprima della Structured Concurrency API, che semplifica lo sviluppo di applicazioni multithread trattando le attività su thread diversi come un'unica unità di esecuzione.
  • È stato introdotto un modo più semplice per dichiarare le classi e definire il metodo main(), eliminando la necessità di definire una classe pubblica con metodi statici.
  • È stata aggiunta un'API per i file di classe, che consente di analizzare, generare e trasformare i file di classe Java in modo più semplice e a livello di programmazione.

Infine, se sei interessato a saperne di più, puoi consultare i dettagli nella sezione seguente link

Scarica Java SE24

Per chi fosse interessato all'installazione della nuova versione di Java SE 24, deve sapere che le compilazioni (JDK, JRE e Server JRE) sono già pronte per Linux, Windows e macOS.