Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Spring Boot: CDS e Virtual thread per Java

Spring Boot: le funzionalità CDS e virtual thread per i websocket migliorano le performance delle applicazioni Java
Spring Boot: CDS e Virtual thread per Java
Spring Boot: le funzionalità CDS e virtual thread per i websocket migliorano le performance delle applicazioni Java
Link copiato negli appunti

Da qualche settimana Spring Boot, il framework Java che facilita la creazione di applicazioni con Spring, è disponibile nella versione 3.3, mentre la 3.4 è attualmente fase di preview. Realizzata dagli sviluppatori di VMware che hanno concluso i lavori per la sua implementazione a maggio 2024, questo aggiornamento ha portato con sé nuove funzionalità, prestazioni più elevate rispetto al passato e maggiore sicurezza. L'ultima minor release scaricabile è la 3.3.2 che risale allo scorso luglio.

Spring Boot e CDS per la programmazione Java

Tra le novità più interessanti di questo rilascio troviamo CDS (Class Data Sharing), una soluzione JVM (Java Virtual Machine) che dovrebbe garantire tempi di avvio più brevi e un utilizzo più contenuto della memoria. Per gli sviluppatori Java si tratta di una "vecchia conoscenza" in quanto venne integrata in Spring già verso la fine dello scorso anno.

Grazie ad essa le classi possono essere collocate in un drive condiviso e i metadati di classe diventano disponibili per processi differenti. Quando più JVM condividono il medesimo archivio JAR il consumo di memoria viene ridotto. I tempi di risposta del sistema si fanno quindi più rapidi.

Virtual thread per i websocket

Un'altra funzionalità utile è il supporto dei virtual thread per i websocket, pensato anch'esso per la massimizzazione delle performance. La prima preview di questa funzionalità risale a Java 19. Il suo scopo principale è quello di rendere ancora più efficiente l'esecuzione di task concorrenti. I virtual Thread permettono di scalare le applicazioni anche quando devono essere eseguiti più processi simultaneamente. Essendo gestiti direttamente a livello di JVM, e quindi non dal sistema operativo ospitante, consentono una gestione migliore delle risorse e riducono l'overhead che viene generato dai thread.

Un'altra feature degna di nota è l'annotation @BatchTransactionManager per l'auto-configurazione di Spring Batch. Ad essa si aggiungono il supporto SNI (Server Name Indication) per SSL. Vi è inoltre la possibilità di caricare alcune risorse, come per esempio i certificati SSL, direttamente dai file di configurazione. Per far questo basta far riferimento ad esso utilizzando valori codificati in Base64.

Ti consigliamo anche