Oracle annuncia Java 18: stabilità, sicurezza, performance

Oracle annuncia Java 18: stabilità, sicurezza, performance

Oracle ha annunciato Java 18 promettendo di continuare la propria politica degli aggiornamenti semestrali per garantire innovazione, stabilità e sicurezza.
Oracle annuncia Java 18: stabilità, sicurezza, performance
Oracle ha annunciato Java 18 promettendo di continuare la propria politica degli aggiornamenti semestrali per garantire innovazione, stabilità e sicurezza.

Oracle ha annunciato il rilascio di Java 18, la nuova generazione di uno dei principali linguaggi di programmazione usati nel mondo. Si tratta di un rilascio all’insegna delle performance e su questo Oracle non si tira indietro promettendo migliaia di interventi migliorativi inclusi nella nuova release.

Java 18

Il nuovo Java Development Kit (JDK)“, spiega il gruppo, “mette a disposizione aggiornamenti e miglioramenti con nove JDK Enhancement Proposals (JEPs)” e paventa pertanto importanti passi avanti in termini di produttività. Georges Saab, Vice President of Development Java Platform Group, continua: “La release di Java 18 dimostra il costante impegno di Oracle nel fornire ad aziende e sviluppatori un accesso più rapido ai miglioramenti con una cadenza del rilascio delle funzionalità semestrale. Continuiamo a fare investimenti tecnici che migliorano le performance, la stabilità e la sicurezza delle implementazioni della piattaforma Java SE e di Java Development Kit“.

Questa cadenza semestrale degli update è infatti ormai strutturale nei rilasci relativi al mondo Java (è del 21 settembre 2021 l’annuncio di Java 17) e questo consente un miglioramento continuo tanto in termini di performance, quanto in termini di stabilità e sicurezza. I dettagli sulle singole novità rilasciate sono disponibili nei singoli bollettini descrittivi messi a disposizione dall’OpenJDK Project:

  • JEP 400: UTF-8 by Default
    imposta UTF-8 come set di caratteri predefinito delle API Java standard. Grazie a questa modifica, le API che dipendono dal set di caratteri
    predefinito avranno un funzionamento coerente su tutte le implementazioni, i sistemi operativi, le versioni locali e le configurazioni.
  • JEP 408: Simple Web Server
    uno strumento della riga di comando e un’API per l’avvio di un server Web minimale che distribuisce solo file statici. Questo strumento è utile per la creazione di prototipi, la scrittura di codice ad hoc e i test, in particolare nei contesti didattici
  • JEP 416: Reimplement Core Reflection with Method Handles
    reimplementa java.lang.reflect.Method, costruttore e campo sugli handle di metodo java.lang.invoke. Rendendo gli handle di metodo il meccanismo di riflessione di base, si riducono i costi di manutenzione e sviluppo delle API java.lang.reflect e java.lang.invoke.
  • JEP 418: Internet-Address Resolution SPI
    definisce un’interfaccia SPI (Service-Provider Interface) per la risoluzione del nome host e dell’indirizzo, in modo che java.net.InetAddress possa utilizzare resolver diversi da quello integrato nella piattaforma.
  • JEP 413: JEP Code Snippets in Java API Documentation
    introduce il tag @snippet per il Doclet standard di JavaDoc in modo da semplificare l’inclusione del codice sorgente di esempio nella documentazione delle API.
  • JEP 417: Vector API (Third Incubator)
    fornisce agli sviluppatori un’API per sfruttare in modo affidabile le architetture CPU che offrono estensioni vettoriali scalabili. In questo modo si otterranno prestazioni superiori rispetto ai calcoli equivalenti nei processori non estesi.
  • JEP 419: Foreign Function and Memory API (Second Incubator)
    permette ai programmi Java di interagire con codice e dati al di fuori del runtime Java. Richiamando in modo efficiente funzioni estranee (ossia codice al di fuori diJVM) e accedendo in tutta sicurezza alla memoria estranea (ad esempio, memoria non gestita da JVM), l’API permette ai programmi Java di chiamare librerie native ed elaborare dati nativi senza la fragilità e le insidie di JNI
  • JEP 420: Pattern Matching for Switch (Second Preview)
    migliora il linguaggio di programmazione Java con la corrispondenza di pattern per le espressioni e le istruzioni dello switch e le estensioni del linguaggio di pattern. L’estensione della corrispondenza di pattern allo switch, consente di testare un’espressione su vari pattern, ciascuno con un’azione specifica, in modo che le query complesse basate sui dati possano essere espresse brevemente e in modo sicuro.
  • JEP 421: Deprecate Finalization for Removal
    la finalizzazione rimane abilitata di default per il momento, ma può essere disabilitata per facilitare i test. In una release futura, questa opzione verrà disabilitata di default e in una release successiva verrà rimossa. È consigliabile che i gestori delle librerie e delle applicazioni che si basano sulla finalizzazione, considerino altre tecniche di gestione delle risorse, come l’istruzione try-with-resources e cleaners.

Gli sviluppatori Java hanno bisogno di un’innovazione continua relativamente a moderne funzionalità del linguaggio di programmazione, miglioramenti dell’experience di sviluppo, servizi gestiti nel cloud e stabilità. Grazie al costante aggiornamento semestrale di Java, Oracle soddisfa tali richieste e contribuisce a mantenere Java rilevante per applicazioni e carichi di lavoro moderni

James Governor, Principal Analyst di RedMonk.

Per seguire l’annuncio dettagliato delle novità di Java 18 puoi seguire live la presentazione. L’evento per l’Europa è previsto per il 24 marzo: qui le istruzioni. Il prossimo aggiornamento, come da programma, sarà nel prossimo mese di settembre.

Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il
22 mar 2022
Link copiato negli appunti