Die nuwe weergawe van Java SE 18 is reeds vrygestel en dit is die nuus daarvan

Na ses maande se ontwikkeling, Oracle het die vrystelling van die nuwe weergawe van JavaSE 18 (Standard Edition), wat die OpenJDK oopbronprojek as 'n verwysingsimplementering gebruik.

In hierdie nuwe weergawe van Java SE 18 kom met die uitsondering van die verwydering van sommige verouderde kenmerke, handhaaf verenigbaarheid met ouer weergawes van die Java-platform, en die meeste Java-projekte wat voorheen geskryf is, sal onveranderd bly werk wanneer dit met die nuwe weergawe uitgevoer word.

Belangrikste nuwe funksies van Java SE 18

In hierdie nuwe weergawe van Java SE 18 is die verstekkodering UTF-8. Java API's wat karaktergekodeerde teksdata verwerk sal nou by verstek UTF-8 op alle platforms gebruik, ongeag stelselinstellings en streekinstellings. Om die ou gedrag terug te gee, waar die enkodering gekies word met inagneming van die plek van die stelsel, kan jy die parameter “-Dfile.encoding=COMPAT” gebruik.

Nog een van die veranderinge wat uitstaan, is hy het die java.lang.reflect API-implementering herontwerp (Kernrefleksie), ontwerp om inligting te verkry oor metodes, velde en konstruktors van klasse, asook toegang tot die interne struktuur van klasse. die api java.lang.refleksie self het nie verander nie, maar word nou geïmplementeer deur die identifiseerders te gebruik van metodes wat deur die module verskaf word java.lang.invoke, in plaas daarvan om bytecode-opwekkers te gebruik. Die verandering het toegelaat om die instandhouding van die implementerings van te verenig en te fasiliteer java.lang.reflect en java.lang.invoke.

Hierbenewens word ook genoem dat die derde voorlopige implementering van Vector API word voorgestel, wat funksies verskaf vir vektorberekeninge wat uitgevoer word met behulp van die vektorinstruksies van die x86_64- en AArch64-verwerkers en jou toelaat om bewerkings gelyktydig op veelvuldige waardes (SIMD) toe te pas. Anders as die vermoëns wat in die HotSpot JIT-samesteller voorsien word vir outomatiese vektorisering van skalêre bewerkings, die nuwe API laat jou toe om vektorisering eksplisiet te beheer vir parallelle dataverwerking.

Dit word ook beklemtoon 'n SPI-koppelvlak bygevoeg (diensverskaffer-koppelvlak) om gasheername en IP-adresse op te los, wat jou toelaat om alternatiewe resolvers in java.net.InetAddress te gebruik wat nie gekoppel is aan die drywers wat deur die bedryfstelsel verskaf word nie.

Aan die ander kant is dit voorgestel tweede voorlopige implementering van Foreign Function & Memory API, waarmee toepassings interaksie kan hê met kode en data buite die Java-looptyd. Die nuwe API laat doeltreffende oproep van nie-JVM-funksies toe y toegang tot geheue wat nie deur JVM bestuur word nie. Byvoorbeeld, jy kan funksies van eksterne gedeelde biblioteke oproep en toegang tot prosesdata kry sonder om JNI te gebruik.

Bygevoeg a tweede eksperimentele implementering van patroonpassing in uitdrukkings skakel, wat jou toelaat om buigsame sjablone in plaas van presiese waardes in "geval"-etikette te gebruik, wat 'n aantal waardes gelyktydig dek, wat voorheen omslagtige stringe van "as...else" uitdrukkings vereis het.

Pakket ingesluit com.sun.net.httpserver, wat die jwebserver-hulpmiddel en API insluit van die biblioteek met die implementering vanaf 'n eenvoudige http-bediener om statiese inhoud te bedien (CGI en servlet-agtige beheerders word nie ondersteun nie). Die ingeboude http-bediener is nie geoptimaliseer vir werkladings nie en ondersteun nie toegangsbeheer of verifikasie nie, aangesien dit hoofsaaklik ontwerp is vir gebruik in die ontwikkelingsproses van prototipering, ontfouting en toetsprojekte.

Van die ander veranderinge wat uitstaan:

  • JavaDoc ondersteun die merker "@brokkie» om werksvoorbeelde en kodebrokkies in API-dokumentasie in te sluit, waartoe toegang verkry kan word met valideringsnutsmiddels, sintaksuitlig en IDE-integrasie.
  • Gedepresieer en sal in 'n toekomstige vrystelling verwyder word, die voltooiingsmeganisme, sowel as verwante metodes soos Object.finalize(), Enum.finalize(), Runtime.runFinalization() en System.runFinalization().
  • die vullisverwyderaars ZGC (Z Garbage Collector), SerialGC en ParallelGC hulle ondersteun string deduplisering.

JavaSE 18 word geklassifiseer as 'n gereelde ondersteuningsvrystelling, met opdaterings wat voor die volgende weergawe vrygestel moet word. Die langtermynondersteuningstak (LTS) behoort Java SE 17 te wees, wat opdaterings tot 2029 sal ontvang.

Dit is belangrik om te onthou dat die projek begin met die Java 10-vrystelling oorgeskakel het na 'n nuwe ontwikkelingsproses, wat 'n korter siklus vir die vorming van nuwe vrystelling beteken. Nuwe funksionaliteit word nou ontwikkel in 'n voortdurend bygewerkte meestertak, wat veranderinge insluit wat reeds voltooi is en waaruit takke elke ses maande vertak om nuwe vrystellings te stabiliseer.

Kry Java SE 18

Vir diegene wat belangstel om hierdie nuwe vrystelling te kan toets, weet asseblief dat builds gereed is vir Linux (x86_64, AArch64), Windows (x86_64) en macOS (x86_64, AArch64) en verkry kan word vanaf die onderstaande skakel.


Die inhoud van die artikel voldoen aan ons beginsels van redaksionele etiek. Klik op om 'n fout te rapporteer hier.

Wees die eerste om te kommentaar lewer

Laat u kommentaar

Jou e-posadres sal nie gepubliseer word nie. Verpligte velde gemerk met *

*

*

  1. Verantwoordelik vir die data: Miguel Ángel Gatón
  2. Doel van die data: Beheer SPAM, bestuur van kommentaar.
  3. Wettiging: U toestemming
  4. Kommunikasie van die data: Die data sal nie aan derde partye oorgedra word nie, behalwe deur wettige verpligtinge.
  5. Datastoor: databasis aangebied deur Occentus Networks (EU)
  6. Regte: U kan u inligting te alle tye beperk, herstel en verwyder.