La nova versio de Java SE 18 jam publikiĝis kaj jen ĝiaj novaĵoj

Post ses monatoj da disvolviĝo, Oracle publikigis la liberigon de la nova versio de JavaSE 18 (Norma Eldono), kiu utiligas la OpenJDK malfermfontecan projekton kiel referencan efektivigon.

En ĉi tiu nova versio de Java SE 18 venas kun la escepto de la forigo de iuj malrekomenditaj trajtoj, konservas kongruecon kun pli malnovaj versioj de la Java-platformo, kaj la plej multaj Java-projektoj verkitaj antaŭe daŭre funkcios senŝanĝe kiam ruliĝas kun la nova versio.

Ĉefaj novecoj de Java SE 18

En ĉi tiu nova eldono de Java SE 18 la defaŭlta kodado estas UTF-8. Java APIoj kiuj prilaboras sign-koditajn tekstodatenojn nun uzos UTF-8 defaŭlte sur ĉiuj platformoj, sendepende de sistemaj agordoj kaj regionaj agordoj. Por redoni la malnovan konduton, kie la kodado estas elektita konsiderante la lokaĵon de la sistemo, vi povas uzi la parametron "-Dfile.encoding=COMPAT".

Alia el la ŝanĝoj kiuj elstaras estas li restrukturis la efektivigon de java.lang.reflect API (Core Reflection), dizajnita por akiri informojn pri metodoj, kampoj kaj konstrukciistoj de klasoj, same kiel aliron al la interna strukturo de klasoj. la apio java.lang.reflect mem ne ŝanĝiĝis, sed nun estas efektivigita uzante la identigilojn de metodoj provizitaj de la modulo java.lang.invoke, anstataŭ uzi bajteksajn generantojn. La ŝanĝo permesis unuigi kaj faciligi la bontenadon de la efektivigoj de java.lang.reflect kaj java.lang.invoke.

Krom ĉi tio, estas ankaŭ mencias ke la tria prepara efektivigo de Vector API estas proponita, kiu provizas funkciojn por vektoraj kalkuloj, kiuj estas faritaj per la vektoraj instrukcioj de la procesoroj x86_64 kaj AArch64 kaj ebligas al vi apliki operaciojn samtempe al multoblaj valoroj (SIMD). Male al la kapabloj disponigitaj en la HotSpot JIT-kompililo por aŭtomata vektorizado de skalaraj operacioj, la nova API permesas al vi eksplicite kontroli vektorigon por paralela datumtraktado.

Estas ankaŭ reliefigite tio aldonis SPI-interfacon (interfaco de provizanto de servo) solvi gastigajn nomojn kaj IP-adresojn, kiu ebligas al vi uzi alternativajn solvilojn en java.net.InetAddress kiuj ne estas ligitaj al la peliloj provizitaj de la operaciumo.

Aliflanke, ĝi estis proponita dua prepara efektivigo de Foreign Function & Memory API, kun kiuj aplikoj povas interagi kun kodo kaj datenoj ekster la Java rultempo. La nova API permesas efikan vokon de ne-JVM-funkcioj y aliri memoron kiu ne estas administrita de JVM. Ekzemple, vi povas voki funkciojn de eksteraj komunaj bibliotekoj kaj aliri procezajn datumojn sen uzi JNI.

Aldonita a dua eksperimenta efektivigo de ŝablono-kongruo en esprimoj ŝalti, kiu ebligas al vi uzi flekseblajn ŝablonojn anstataŭ precizajn valorojn en "kazaj" etikedoj, kovrante kelkajn valorojn samtempe, kiuj antaŭe postulis maloportunajn ĉenojn de "se... alie" esprimoj.

Pako inkluzivita com.sun.net.httpserver, kiu inkluzivas la jwebserver ilo kaj API de la biblioteko kun la efektivigo de simpla http-servilo por servi senmovan enhavon (CGI kaj servlet-similaj regiloj ne estas subtenataj). La enkonstruita http-servilo ne estas optimumigita por laborkvantoj kaj ne subtenas alirkontrolon aŭ aŭtentikigon, ĉar ĝi estas dizajnita ĉefe por uzo en la evoluprocezo de prototipado, senararigado kaj testado de projektoj.

El la aliaj ŝanĝoj kiuj elstaras:

  • JavaDoc subtenas la etikedon "@fragmento» por enigi laborekzemplojn kaj kodfragmentojn en API-dokumentadon, alireblan per validigaj iloj, sintaksa reliefigo kaj IDE-integriĝo.
  • Malrekomendita kaj estos forigita en estonta eldono, la finmekanismo, same kiel rilataj metodoj kiel ekzemple Object.finalize(), Enum.finalize(), Runtime.runFinalization (), kaj System.runFinalization ().
  • la rubistoj ZGC (Z Rubokolektisto), SerialGC kaj ParallelGC ili subtenas ŝnurojn dedupliko.

JavaSE 18 estas klasifikita kiel regula subtena eldono, kun ĝisdatigoj liberigotaj antaŭ la venonta versio. La branĉo de longdaŭra subteno (LTS) devus esti Java SE 17, kiu ricevos ĝisdatigojn ĝis 2029.

Gravas memori, ke ekde la eldono de Java 10, la projekto ŝanĝis al nova disvolva procezo, kio signifas pli mallongan ciklon por nova eldono. Nova funkcieco nun estas disvolvita en konstante ĝisdatigita majstra branĉo, kiu inkluzivas ŝanĝojn jam finitaj kaj de kiuj branĉoj disbranĉiĝas ĉiujn ses monatojn por stabiligi novajn eldonojn.

Akiru Java SE 18

Por tiuj, kiuj interesiĝas pri povi testi ĉi tiun novan eldonon, bonvolu scii, ke konstruaĵoj estas pretaj por Linukso (x86_64, AArch64), Vindozo (x86_64) kaj macOS (x86_64, AArch64) kaj povas esti akiritaj. de la suba ligilo.


La enhavo de la artikolo aliĝas al niaj principoj de redakcia etiko. Por raporti eraron alklaku Ĉi tie.

Estu la unua por komenti

Lasu vian komenton

Via retpoŝta adreso ne estos eldonita. Postulita kampojn estas markita per *

*

*

  1. Respondeculo pri la datumoj: Miguel Ángel Gatón
  2. Celo de la datumoj: Kontrola SPAM, administrado de komentoj.
  3. Legitimado: Via konsento
  4. Komunikado de la datumoj: La datumoj ne estos komunikitaj al triaj krom per laŭleĝa devo.
  5. Stokado de datumoj: Datumbazo gastigita de Occentus Networks (EU)
  6. Rajtoj: Iam ajn vi povas limigi, retrovi kaj forigi viajn informojn.