Java 21: tutte le novità

Andra Gatu
29/11/2023
Java 21: tutte le novità

Lo scorso settembre, Oracle ha rilasciato Java 21, la nuova versione del linguaggio di programmazione più popolare al mondo. Questo aggiornamento rappresenta un importante passo avanti per Java a livello mondiale, poiché introduce una serie di nuove funzionalità e miglioramenti che possono avere un impatto significativo sui professionisti che utilizzano questo linguaggio.

Java 21 è un aggiornamento di tipo “LTS”, ovvero “Long-Term Support“. Questo significa che Oracle fornirà supporto a questa versione per almeno 8 anni, ovvero fino al 2031.

I professionisti che utilizzano Java possono beneficiare di una serie di vantaggi aggiuntivi presenti in questa nuova versione. In particolare, gli aggiornamenti alle prestazioni e alla sicurezza possono aiutare a migliorare l’efficienza e la sicurezza delle applicazioni. Inoltre, i miglioramenti alla compatibilità possono semplificare la migrazione a Java 21.

Anche tu utilizzi l’ecosistema Java per il tuo business? Allora dovresti conoscere le novità che sono state presentate da Oracle durante l’evento Oracle CloudWorld tenutosi a Las Vegas. 

Se poi dovessi avere ancora dei dubbi o volessi approfondire le implicazioni delle novità di Java 21, in qualsiasi momento puoi appoggiarti alla nostra consulenza Java.

Project Loom

Il primo grande ambito di aggiornamento di Java 21 è stato definito Project Loom e al suo interno sono stati introdotti Virtual Threads, Scoped Values e Structured Concurrency. Vediamoli a uno a uno per capire di cosa stiamo parlando. 

I Virtual Threads sono una nuova funzionalità del Project Loom che consente di creare thread leggeri in modo ancora più efficiente. I Virtual Threads condividono lo stesso spazio di memoria con il thread principale, ma hanno un proprio stack di chiamate. Ciò li rende più efficienti rispetto ai thread leggeri tradizionali, che condividono anche lo stack di chiamate con il thread principale.

I Scoped Values consentono di condividere dati tra thread in modo sicuro e efficiente. Sono valori che esistono solo all’interno di un determinato ambito. Quando l’ambito termina, i Scoped Values vengono eliminati automaticamente.

La Structured Concurrency è un nuovo paradigma di programmazione che consente di scrivere codice multi-thread in modo più sicuro ed efficiente. 

Project Panama

Un’altra novità di Java 21 è il Project Panama, che con le sue nuove funzionalità vuole semplificare l’uso, migliorare le performance, lavorare con differenti tipologie di memorie e rendere le operazioni più sicure. 

All’interno del Project Panama, la Foreign Function & Memory API (FFMA) è una nuova API che consente alle applicazioni Java di interagire con codice e dati esterni alla JVM. L’FFMA offre una serie di funzionalità che consentono alle applicazioni Java di:

  • Invocare funzioni native: ovvero funzioni che non sono scritte in Java;
  • Accedere a memoria esterna: quindi memoria non gestita dalla JVM.

La FFMA è stata introdotta per la prima volta in Java 20 come funzionalità sperimentale e in Java 21 è stata resa disponibile per l’uso in produzione. Supporta un’ampia gamma di architetture, include funzionalità di sicurezza ed è stata progettata per essere efficiente. 

C’è poi la Vector API, una nuova API che consente alle applicazioni Java di eseguire calcoli vettoriali in modo efficiente su architetture CPU. 

Project Amber

Infine, il Project Amber in Java 21 introduce String Templates, Record Patterns, Pattern Matching for Switch e Unnamed Patterns and Variables.

Gli String Templates rappresentano una nuova funzionalità in Java 21 che consente di scrivere letterali di stringa in modo più conciso e leggibile. Con gli String Templates, è possibile incorporare espressioni direttamente nei letterali di stringa, semplificando la formattazione e la manipolazione delle stringhe, e includendo valori ottenuti durante l’esecuzione.

I Record Patterns sono simili alle espressioni switch, ma sono progettati specificamente per decostruire i valori dei record, rendendo più semplice l’uso dei dati. 

Continuando, il Pattern Matching for Switch di Java 21 consente di utilizzare espressioni di pattern matching nelle istruzioni switch, per semplificare il codice. 

In ultimo, gli Unnamed Patterns and Variables consentono di omettere il nome di un pattern o di una variabile quando non è necessario. 

Altre novità di Java 21

Trattandosi di un aggiornamento importante, le specifiche sono davvero tante. Vediamo qualche altra grande novità oltre a quelle già elencate: 

  • Classi sigillate: sono classi che limitano quali altre classi possono ereditare da loro. Le classi sigillate consentono di esprimere vincoli di sottotipizzazione e di aumentare l’espressività del linguaggio;
  • Blocchi di testo: sono stringhe multilinea che evitano la necessità di usare caratteri di escape per rappresentare le virgolette o i ritorni a capo;
  • Sintassi delle variabili locali per i parametri lambda: è una funzionalità che permette di usare la parola chiave var nei parametri lambda, rendendo il codice più coerente e leggibile;
  • Miglioramenti del ZGC: sono una serie di ottimizzazioni e funzionalità aggiunte al garbage collector Z, tra cui la riduzione della latenza e l’aumento del throughput.

Per tutti i dettagli aggiuntivi e tecnici ti invitiamo a fare riferimento alle fonti ufficiali di Oracle. 

Conclusioni

In conclusione, Java 21 si presenta come una release ricca di innovazioni e miglioramenti che promettono di rivoluzionare il modo in cui sviluppiamo applicazioni Java. Dai miglioramenti alle performance alle nuove funzionalità linguistiche, questa versione si distingue per la sua ambizione di semplificare lo sviluppo e migliorare l’efficienza del codice.

Per sfruttare appieno le potenzialità di Java 21 e garantire una transizione senza intoppi per i tuoi progetti, è fondamentale affidarsi a professionisti esperti nel settore

Nextre Engineering è il partner ideale per implementare con successo le nuove caratteristiche di Java 21 nel tuo business. Grazie alla nostra competenza e alla comprovata esperienza nel campo dello sviluppo software, puoi massimizzare i vantaggi offerti dalla nuova versione di Java e assicurarti che le tue applicazioni siano all’avanguardia.

Contattaci oggi stesso attraverso il form e lascia che i nostri esperti ti guidino attraverso l’implementazione delle nuove funzionalità di Java 21. 

Lettura

5min

Richiedi informazioni

Compila i campi qui sotto per richiedere maggiori informazioni.
Un nostro esperto ti risponderà in breve tempo.

PRENOTA CONSULENZA GRATUITA

Let's discuss your project. Call or contact us in any other way. I nostri contatti