Versione di Java SE 19

Dopu sei mesi di sviluppu, Oracle hà liberatu Java SE 19 (Java Platform, Standard Edition 19), chì usa u prughjettu OpenJDK open-source cum'è implementazione di riferimentu. Cù l'eccezzioni di a rimozione di alcune funzioni obsolete, Java SE 19 mantene a cumpatibilità retrocede cù versioni precedenti di a piattaforma Java - a maiò parte di i prughjetti Java scritti prima funzionaranu senza cambiamenti quandu eseguite sottu a nova versione. I build pronti per l'installazione di Java SE 19 (JDK, JRE è Server JRE) sò pronti per Linux (x86_64, AArch64), Windows (x86_64) è macOS (x86_64, AArch64). Sviluppatu da u prughjettu OpenJDK, l'implementazione di riferimentu Java 19 hè cumplettamente open source sottu a licenza GPLv2, cù l'eccezzioni GNU ClassPath chì permettenu ligami dinamichi cù i prudutti cummerciale.

Java SE 19 hè classificatu cum'è una versione di supportu regulare è continuerà à riceve l'aghjurnamenti finu à a prossima versione. A filiera di Support Long Term (LTS) deve esse Java SE 17, chì continuarà à riceve l'aghjurnamenti finu à u 2029. Ricurdemu chì, principiendu cù a liberazione di Java 10, u prugettu hà cambiatu à un novu prucessu di sviluppu, chì implica un ciculu più curtu per a furmazione di novi versioni. A nova funziunalità hè issa sviluppata in un ramu maestru constantemente aghjurnatu, chì include cambiamenti pronti è da quali rami sò ramificati ogni sei mesi per stabilizzà e novi versioni.

I novi funziunalità in Java 19 includenu:

  • Un supportu preliminare per i mudelli di registrazione hè statu prupostu, estendendu a funzione di cuncordanza di mudelli introdutta in Java 16 cù strumenti per analizà i valori di classi di registrazione. Per esempiu: record Point(int x, int y) {} void printSum(Object o) { if (o instance of Point (int x, int y)) { System.out.println(x+y); } }
  • I build Linux furniscenu supportu per l'architettura RISC-V.
  • Aghjunghje un supportu preliminariu per l'API FFM (Foreign Function & Memory) API, chì permette di urganizà l'interazzione di i prugrammi Java cù u codice esternu è e dati chjamendu funzioni da biblioteche esterne è accede à a memoria fora di a JVM.
  • Aghjunghje supportu per i fili virtuali, chì sò filamenti ligeri chì simplificanu assai a scrittura è u mantenimentu di l'applicazioni multi-threaded d'altu rendiment.
  • Una quarta vista previa di l'API Vector hè stata pruposta, chì furnisce funzioni per i calculi vettoriali chì sò eseguiti cù struzzioni vettoriali nantu à i processori x86_64 è AArch64 è permettenu l'operazioni per esse applicate simultaneamente à parechji valori (SIMD). A cuntrariu di e capacità furnite in u compilatore HotSpot JIT per l'autovectorizazione di l'operazioni scalari, a nova API permette di cuntrollà esplicitamente a vectorizazione per u prucessu di dati paralleli.
  • Una terza implementazione sperimentale di currispundenza di mudelli in espressioni "switch" hè stata aghjunta, chì permette l'usu in etichette "casu" micca di valori esatti, ma di mudelli flessibili chì coprenu una seria di valori à una volta, per quale prima era necessariu aduprate catene ingombranti di espressioni "se ... altru". Ughjettu o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Aghjunghjia una API sperimentale per u parallelismu strutturatu, chì simplificà u sviluppu di l'applicazioni multi-threaded trattendu parechje attività in esecuzione in diversi fili cum'è un solu bloccu.

Source: opennet.ru

Add a comment