Noua versiune a Java SE 18 a fost deja lansată și acestea sunt noutățile sale

După șase luni de dezvoltare, Oracle a lansat lansarea noua versiune a JavaSE 18 (Standard Edition), care folosește proiectul open source OpenJDK ca implementare de referință.

În această nouă versiune de Java SE 18 vine cu excepția eliminarea unor caracteristici depreciate, menține compatibilitatea cu versiunile anterioare ale platformei Java și majoritatea proiectelor Java scrise anterior vor continua să funcționeze neschimbat atunci când sunt rulate cu noua versiune.

Principalele caracteristici noi ale Java SE 18

În această nouă versiune a Java SE 18, codificarea implicită este UTF-8. API-uri Java care procesează date text codificate cu caractere va folosi acum UTF-8 în mod implicit pe toate platformele, indiferent de setările sistemului și setările regionale. Pentru a returna vechiul comportament, în care codificarea este aleasă ținând cont de localitatea sistemului, puteți utiliza parametrul „-Dfile.encoding=COMPAT”.

O alta dintre schimbarile care iese in evidenta este el a reproiectat implementarea API-ului java.lang.reflect (Core Reflection), conceput pentru a obține informații despre metode, câmpuri și constructori de clase, precum și acces la structura internă a claselor. API-ul java.lang.reflect în sine nu s-a schimbat, dar este acum implementat folosind identificatorii a metodelor oferite de modul java.lang.invoke, în loc să folosească generatoare de bytecode. Schimbarea a permis unificarea și facilitarea menținerii implementărilor de java.lang.reflect și java.lang.invoke.

Pe lângă aceasta, se mai menționează că este propusă a treia implementare preliminară a Vector API, care oferă funcții pentru calcule vectoriale care sunt efectuate folosind instrucțiunile vectoriale ale procesoarelor x86_64 și AArch64 și vă permit să aplicați operații simultan la mai multe valori (SIMD). Spre deosebire de capabilitățile oferite de compilatorul HotSpot JIT pentru vectorizarea automată a operațiilor scalare, noul API vă permite să controlați în mod explicit vectorizarea pentru procesarea paralelă a datelor.

De asemenea, se evidențiază faptul că a adăugat o interfață SPI (interfața furnizorului de servicii) pentru a rezolva numele de gazdă și adresele IP, care vă permite să utilizați soluții alternative în java.net.InetAddress care nu sunt legate de driverele furnizate de sistemul de operare.

Pe de altă parte, a fost propus a doua implementare preliminară a API-ului Foreign Function & Memory, cu care aplicațiile pot interacționa cu codul și datele în afara timpului de rulare Java. Noul API permite apelarea eficientă a funcțiilor non-JVM y accesează memoria care nu este gestionat de JVM. De exemplu, puteți apela funcții din biblioteci externe partajate și puteți accesa datele de proces fără a utiliza JNI.

A adăugat un a doua implementare experimentală a potrivirii modelelor în expresii intrerupator, care vă permite să utilizați șabloane flexibile în loc de valori exacte în etichetele „case”, acoperind un număr de valori simultan, care anterior necesitau șiruri greoaie de expresii „if...else”.

Pachetul include com.sun.net.httpserver, care include utilitarul jwebserver și API a bibliotecii cu implementarea de pe un simplu server http pentru a difuza conținut static (controlerele CGI și tip servlet nu sunt acceptate). Serverul http încorporat nu este optimizat pentru încărcături de lucru și nu acceptă controlul accesului sau autentificarea, deoarece este conceput în primul rând pentru a fi utilizat în procesul de dezvoltare a proiectelor de prototipare, depanare și testare.

Dintre celelalte schimbări care ies în evidență:

  • JavaDoc acceptă eticheta „@fragment» pentru a încorpora exemple de lucru și fragmente de cod în documentația API, care pot fi accesate cu instrumente de validare, evidențierea sintaxelor și integrarea IDE.
  • Depreciat și va fi eliminat într-o ediție viitoare, mecanismul de finalizare, precum și metode aferente, cum ar fi Object.finalize(), Enum.finalize(), Runtime.runFinalization() și System.runFinalization().
  • gunoierii ZGC (Z Garbage Collector), SerialGC și ParallelGC ele acceptă deduplicarea șirurilor.

JavaSE 18 este clasificată ca o versiune de suport obișnuită, cu actualizări care urmează să fie lansate înainte de următoarea versiune. Ramura de suport pe termen lung (LTS) ar trebui să fie Java SE 17, care va primi actualizări până în 2029.

Este important să ne amintim că, începând cu lansarea Java 10, proiectul a trecut la un nou proces de dezvoltare, ceea ce înseamnă un ciclu mai scurt pentru formarea noilor versiuni. O nouă funcționalitate este acum dezvoltată într-o ramură principală actualizată constant, care include modificări deja finalizate și din care ramuri se ramifică la fiecare șase luni pentru a stabiliza noile versiuni.

Obțineți Java SE 18

Pentru cei interesați să poată testa această nouă versiune, vă rugăm să știți că versiunile sunt gata pentru Linux (x86_64, AArch64), Windows (x86_64) și macOS (x86_64, AArch64) și pot fi obținute din linkul de mai jos.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.