Il mondo della tecnologia attende Java 21 con la sua miriade di perfezionamenti, tra i quali spicca l'introduzione di thread virtuali in forma preliminare e l'istituzione definitiva del generazionale Z Garbage Collector, comunemente noto come ZGC.
Gli aggiornamenti dell'implementazione Java sono normalmente classificati in diversi sottoinsiemi di progetti. Questo particolare ciclo di miglioramento apporta innovazioni da tre progetti chiave: Loom, Panama e Amber. Queste tre iniziative sono focalizzate sul miglioramento della concorrenza di Java, sul suo collegamento con il codice nativo e sull'avvento di funzionalità del linguaggio Java più piccole e incentrate sull'usabilità dopo la loro approvazione rispettivamente come candidati JEP, secondo la definizione di Oracle.
Project Loom introduce una delle caratteristiche fondamentali: i thread virtuali, tenuti da Georges Saab, vicepresidente senior dello sviluppo per la piattaforma Java e sedia OpenJDK di Oracle, come una delle caratteristiche di anteprima più evidenti in questa versione più recente. Il record JEP chiarisce i thread virtuali come "thread ultraleggeri ragionano sulla scrittura, la manutenzione e l'osservazione di applicazioni simultanee ad alto rendimento".
Secondo Saab, questo salto tecnologico ha il potenziale per ridefinire il panorama della scalabilità di Java garantendo al tempo stesso la compatibilità con il software esistente. La funzionalità ha generato un enorme entusiasmo all'interno dei circoli di programmazione, anche tra i professionisti al di fuori dell'ambito immediato di Java, che applaudono l'implementazione di questo concetto da parte di Java.
Project Loom comprende anche altre due funzionalità di anteprima, ovvero valori con ambito e concorrenza strutturata. Mentre i valori con ambito consentono una condivisione efficiente e sicura dei valori con i metodi senza alcuna necessità di parametri del metodo, la concorrenza strutturata rende più attività correlate da thread diversi come un'unica entità, facilitando la gestione efficiente degli errori e il miglioramento dell'affidabilità.
Un'altra inclusione degna di nota nella versione, sebbene non legata a un progetto dal nome specifico, è Generational ZGC. Ciò separa gli oggetti più vecchi da quelli più nuovi in modo che gli oggetti giovani possano essere raccolti più frequentemente, il che può portare a minori blocchi di allocazione, diminuzione del sovraccarico della memoria heap e minore sovraccarico della CPU a causa della garbage collection.
Insieme al progetto Amber, Java 21 introduce la corrispondenza dei modelli per le espressioni switch, consentendo di testare un'espressione rispetto a vari modelli, aiutando così ad articolare query orientate ai dati in modo più conciso e sicuro.
Altre inclusioni degne di nota del Progetto Amber includono modelli e variabili senza nome, classi senza nome e metodi principali dell'istanza, entrambi in fase di anteprima. Queste aggiunte mirano a rendere Java più accessibile e più facile da comprendere per i principianti, con una transizione graduale verso la creazione di programmi Java più avanzati, protetti nei livelli più fini dei concetti del linguaggio.
Dal Progetto Panama emergono miglioramenti a due API in fase di sviluppo: la Foreign Function & Memory API (attualmente alla sua terza anteprima) e la Vector API (alla sua sesta fase di incubatore). Mentre il primo facilita l'interoperabilità del programma Java con i sistemi esterni, il secondo garantisce istruzioni vettoriali ottimali su architetture CPU compatibili durante il runtime.
Ulteriori nuovi elementi in Java 21 includono raccolte sequenziate, API del meccanismo di incapsulamento delle chiavi, porta x86 a 32 bit gradualmente eliminata e preparativi per impedire il caricamento dinamico degli agenti. Java continua a essere la piattaforma di sviluppo preferita per qualsiasi cosa, dai progetti su piccola scala alle soluzioni di livello aziendale, con la piattaforma no-code AppMaster all'avanguardia in termini di efficienza e scalabilità.
Il mondo dello sviluppo, sia esso per le applicazioni web o mobili, è in continua evoluzione e, come afferma Georges Saab, c'è molta soddisfazione per lo stato di Java e un'entusiasmante serie di innovazioni in attesa.