Den nye version af Java SE 18 er allerede frigivet, og det er dens nyheder

Efter seks måneders udvikling, Oracle frigav frigivelsen af den nye version af JavaSE 18 (Standard Edition), som bruger OpenJDK open source-projektet som referenceimplementering.

I denne nye version af Java SE 18 kommer med undtagelse af fjernelse af nogle forældede funktioner, bevarer kompatibiliteten med ældre versioner af Java-platformen, og de fleste Java-projekter skrevet tidligere vil fortsætte med at fungere uændret, når de køres med den nye version.

De vigtigste nye funktioner i Java SE 18

I denne nye udgivelse af Java SE 18 er standardkodningen UTF-8. Java API'er, der behandler tegnkodede tekstdata vil nu bruge UTF-8 som standard på alle platforme, uanset systemindstillinger og regionale indstillinger. For at returnere den gamle adfærd, hvor kodningen er valgt under hensyntagen til systemets lokalitet, kan du bruge parameteren "-Dfile.encoding=COMPAT".

En anden af ​​de ændringer, der skiller sig ud, er ham redesignet java.lang.reflect API-implementeringen (Core Reflection), designet til at opnå information om metoder, felter og konstruktører af klasser, samt adgang til klassernes interne struktur. api'en java.lang.reflekteret i sig selv er ikke ændret, men er nu implementeret ved hjælp af identifikatorerne metoder, som modulet tilbyder java.lang.invoke, i stedet for at bruge bytekode-generatorer. Ændringen gjorde det muligt at forene og lette vedligeholdelsen af ​​implementeringerne af java.lang.reflect og java.lang.invoke.

Udover dette nævnes det også, at den tredje foreløbige implementering af Vector API foreslås, som giver funktioner til vektorberegninger, der udføres ved hjælp af vektorinstruktionerne fra x86_64- og AArch64-processorerne og giver dig mulighed for at anvende operationer samtidigt på flere værdier (SIMD). I modsætning til mulighederne i HotSpot JIT-kompileren til automatisk vektorisering af skalaroperationer, er den nye API giver dig mulighed for eksplicit at kontrollere vektorisering til parallel databehandling.

Det fremhæves også, at tilføjet en SPI-grænseflade (tjenesteudbydergrænseflade) at løse værtsnavne og IP-adresser, som giver dig mulighed for at bruge alternative resolvere i java.net.InetAddress, der ikke er bundet til de drivere, der leveres af operativsystemet.

På den anden side er det blevet foreslået anden foreløbig implementering af Foreign Function & Memory API, hvormed applikationer kan interagere med kode og data uden for Java-runtiden. Den nye API tillader effektivt opkald af ikke-JVM-funktioner y få adgang til hukommelsen som ikke administreres af JVM. For eksempel kan du kalde funktioner fra eksterne delte biblioteker og få adgang til procesdata uden at bruge JNI.

Tilføjet en anden eksperimentel implementering af mønstertilpasning i udtryk kontakt, som giver dig mulighed for at bruge fleksible skabeloner i stedet for nøjagtige værdier i "case"-tags, der dækker en række værdier på én gang, hvilket tidligere krævede besværlige strenge af "hvis...else"-udtryk.

Pakke inkluderet com.sun.net.httpserver, som inkluderer jwebserver-værktøjet og API af biblioteket med implementeringen fra en simpel http-server at betjene statisk indhold (CGI og servlet-lignende controllere understøttes ikke). Den indbyggede http-server er ikke optimeret til arbejdsbelastninger og understøtter ikke adgangskontrol eller autentificering, da den primært er designet til brug i udviklingsprocessen af ​​prototyping, fejlfinding og testprojekter.

Af de andre ændringer der skiller sig ud:

  • JavaDoc understøtter tagget "@uddrag» at indlejre arbejdseksempler og kodestykker i API-dokumentation, som kan tilgås med valideringsværktøjer, syntaksfremhævning og IDE-integration.
  • Forældet og vil blive fjernet i en fremtidig udgivelse, fuldførelsesmekanismen samt relaterede metoder som f.eks Object.finalize(), Enum.finalize(), Runtime.runFinalization() og System.runFinalization().
  • skraldemændene ZGC (Z Garbage Collector), SerialGC og ParallelGC de understøtter strengdeduplikering.

JavaSE 18 er klassificeret som en almindelig supportudgivelse, med opdateringer, der skal frigives inden næste version. Den langsigtede support (LTS) filial bør være Java SE 17, som vil modtage opdateringer indtil 2029.

Det er vigtigt at huske, at fra og med Java 10-udgivelsen skiftede projektet til en ny udviklingsproces, hvilket betyder en kortere cyklus for nyudgivelsesdannelse. Ny funktionalitet udvikles nu i en konstant opdateret mastergren, som omfatter allerede gennemførte ændringer, og hvorfra filialer forgrener sig hvert halve år for at stabilisere nye udgivelser.

Hent Java SE 18

For dem, der er interesseret i at kunne teste denne nye udgivelse, skal du vide, at builds er klar til Linux (x86_64, AArch64), Windows (x86_64) og macOS (x86_64, AArch64) og kan fås fra nedenstående link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.