Ang pagpagawas sa Java SE 18

Human sa unom ka bulan nga pag-develop, gipagawas na sa Oracle ang Java SE 18 platform (Java Platform, Standard Edition 18), nga naggamit sa open source OpenJDK project isip reference implementation niini. Gawas sa pagtangtang sa pipila ka wala na gigamit nga mga feature, ang Java SE 18 nagpabilin sa backward compatibility sa mga naunang release sa Java platform—kadaghanan sa mga naunang gisulat nga Java projects dili mausab ang pagdagan kon modagan ubos sa bag-ong bersyon. Ang mga ready-to-install nga builds sa Java SE 18 (JDK, JRE, ug Server JRE) giandam na alang sa... Linux (x86_64, AArch64), Windows (x86_64) ug macOS (x86_64, AArch64). Gipalambo sa proyektong OpenJDK, ang Java 18 reference implementation hingpit nga open source ubos sa lisensya sa GPLv2 uban sa GNU ClassPath Exception, nga nagtugot sa dynamic linking sa mga komersyal nga produkto.

Ang Java SE 18 giklasipikar ingon usa ka regular nga pagpagawas sa suporta ug magpadayon nga makadawat mga update hangtod sa sunod nga pagpagawas. Ang sanga sa Long Term Support (LTS) kinahanglan nga Java SE 17, nga magpadayon nga makadawat mga update hangtod sa 2029. Pahinumdum kami kanimo nga sugod sa pagpagawas sa Java 10, ang proyekto gibalhin sa usa ka bag-ong proseso sa pag-uswag, nga nagpasabut nga usa ka mas mubo nga siklo alang sa pagporma sa mga bag-ong pagpagawas. Ang bag-ong kagamitan naugmad na karon sa usa ka kanunay nga gi-update nga master branch, nga naglakip sa andam na nga mga pagbag-o ug gikan diin ang mga sanga gisanga matag unom ka bulan aron mapalig-on ang mga bag-ong pagpagawas.

Ang mga bag-ong bahin sa Java 18 naglakip sa:

  • Ang default encoding mao ang UTF-8. Ang mga Java API nga nagproseso sa datos sa teksto base sa pag-encode sa karakter mogamit na karon sa UTF-8 nga default sa tanang mga plataporma, bisan unsa pa ang mga setting sa sistema ug mga setting sa lokal. Aron mobalik sa daan nga kinaiya, diin ang pag-encode gipili base sa lokal nga sistema, mahimo nimong gamiton ang opsyon nga "-Dfile.encoding=COMPAT".
  • Ang package naglakip sa com.sun.net.httpserver package, nga naglakip sa jwebserver utility ug library API uban sa pagpatuman sa usa ka yano nga http server alang sa pag-alagad sa static nga sulod (CGI ug servlet-like handler dili suportado). Ang built-in nga HTTP server wala ma-optimize alang sa mga workloads ug wala nagsuporta sa access control ug authentication, tungod kay kini gitumong sa panguna sa paggamit sa proseso sa pagpalambo alang sa prototyping, debugging ug testing nga mga proyekto.
  • Naghatag ang JavaDoc og suporta para sa tag nga "@snippet" aron ma-embed ang mga nagtrabaho nga mga pananglitan ug mga snippet sa code sa dokumentasyon sa API, diin mahimo nimong gamiton ang mga himan sa pag-validate, pag-highlight sa syntax, ug panagsama sa IDE.
  • Ang pagpatuman sa java.lang.reflect API (Core Reflection), nga gidisenyo aron makakuha og impormasyon bahin sa mga pamaagi, field ug class constructors, ingon man ang access sa internal structure sa mga klase, gidesinyo pag-usab. Ang java.lang.reflect API mismo nagpabilin nga wala mausab, apan karon gipatuman gamit ang mga pamaagi sa pagdumala nga gihatag sa java.lang.invoke module, imbes nga gamiton ang bytecode generators. Ang pagbag-o nagtugot kanamo sa paghiusa sa mga pagpatuman sa java.lang.reflect ug java.lang.invoke, ug pasimplehon ang ilang pagmentinar.
  • Gisugyot ang ikatulo nga preview sa Vector API, nga naghatag mga function alang sa mga kalkulasyon sa vector nga gipatuman gamit ang mga panudlo sa vector sa x86_64 ug AArch64 nga mga processor ug gitugotan ang mga operasyon nga magamit nga dungan sa daghang mga kantidad (SIMD). Dili sama sa mga kapabilidad nga gihatag sa HotSpot JIT compiler para sa auto-vectorization sa scalar operations, ang bag-ong API nagpaposible nga klarong makontrol ang vectorization para sa parallel data processing.
  • Gidugang ang SPI (service-provider interface) para sa pagsulbad sa mga host name ug Mga IP address, nga nagtugot sa java.net.InetAddress sa paggamit og alternatibong mga resolver nga wala nalambigit sa mga handler nga gitanyag sa operating system.
  • Gihatag ang ikaduhang preview sa Foreign Function & Memory API, nga nagtugot sa mga aplikasyon nga makig-interact sa code ug data sa gawas sa Java runtime. Ang bag-ong API nagtugot kanimo sa episyente nga pagtawag sa mga non-JVM functions ug pag-access sa non-JVM-managed memory. Pananglitan, mahimo nimong tawagan ang mga gimbuhaton gikan sa gawas nga gipaambit nga mga librarya ug pag-access sa datos sa proseso nga wala gigamit ang JNI.
  • Ang ikaduha nga eksperimento nga pagpatuman sa pattern matching sa "switch" nga mga ekspresyon gidugang, nga nagtugot sa paggamit sa mga flexible pattern sa "case" nga mga label imbes sa eksaktong mga bili, nga naglangkob sa usa ka serye sa mga bili sa usa ka higayon, nga kaniadto gikinahanglan nga gamiton. hago nga mga kadena sa “kon...lain pa” nga mga ekspresyon. Butang o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); kaso Long l -> String.format("taas nga %d", l); kaso Doble d -> String.format("doble %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Ang mekanismo sa finalization ug ang kaubang mga pamaagi sama sa Object.finalize(), Enum.finalize(), Runtime.runFinalization() ug System.runFinalization() wala na gamita ug dili na magamit sa umaabot nga pagpagawas.
  • Ang ZGC (Z Garbage Collector), SerialGC, ug ParallelGC garbage collectors nagsuporta sa row deduplication.

Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster