Nová verzia Java SE 18 už bola vydaná a toto sú jej novinky

Po šiestich mesiacoch vývoja Spoločnosť Oracle vydala vydanie nová verzia JavaSE 18 (Standard Edition), ktorá využíva open source projekt OpenJDK ako referenčnú implementáciu.

V tejto novej verzii Java SE 18 prichádza s výnimkou odstránenie niektorých zastaraných funkcií, zachováva kompatibilitu so staršími verziami platformy Java a väčšina predtým napísaných projektov Java bude pri spustení s novou verziou naďalej fungovať bez zmeny.

Hlavné nové funkcie Java SE 18

V tomto novom vydaní Java SE 18 je predvolené kódovanie UTF-8. Rozhrania Java API, ktoré spracúvajú textové údaje so znakovým kódom teraz bude štandardne používať UTF-8 na všetkých platformáchbez ohľadu na systémové a regionálne nastavenia. Ak chcete vrátiť staré správanie, kde je kódovanie zvolené s ohľadom na miestne nastavenie systému, môžete použiť parameter „-Dfile.encoding=COMPAT“.

Ďalšou zo zmien, ktorá vyniká, je on prepracovali implementáciu API java.lang.reflect (Core Reflection), určený na získanie informácií o metódach, poliach a konštruktoroch tried, ako aj prístup k vnútornej štruktúre tried. api java.lang.reflect samotný sa nezmenil, ale teraz je implementovaný pomocou identifikátorov metód poskytovaných modulom java.lang.invoke namiesto použitia generátorov bytecode. Zmena umožnila zjednotiť a uľahčiť údržbu implementácií java.lang.reflect a java.lang.invoke.

Okrem toho sa spomína aj to navrhuje sa tretia predbežná implementácia Vector API, ktorý poskytuje funkcie pre vektorové výpočty, ktoré sa vykonávajú pomocou vektorových inštrukcií procesorov x86_64 a AArch64 a umožňujú aplikovať operácie súčasne na viacero hodnôt (SIMD). Na rozdiel od možností poskytovaných v kompilátore HotSpot JIT pre automatickú vektorizáciu skalárnych operácií, nové API umožňuje explicitne riadiť vektorizáciu pre paralelné spracovanie údajov.

Je tiež zdôraznené, že pridané rozhranie SPI (rozhranie poskytovateľa služieb) rozlíšiť názvy hostiteľov a adresy IP, čo vám umožňuje používať alternatívne resolvery v java.net.InetAddress, ktoré nie sú viazané na ovládače poskytované operačným systémom.

Na druhej strane to bolo navrhnuté druhá predbežná implementácia Foreign Function & Memory API, s ktorými môžu aplikácie interagovať s kódom a údajmi mimo prostredia Java. Nové API umožňuje efektívne volanie funkcií, ktoré nie sú JVM y prístup do pamäte ktorú nespravuje JVM. Môžete napríklad volať funkcie z externých zdieľaných knižníc a pristupovať k procesným dátam bez použitia JNI.

Pridané a druhá experimentálna implementácia porovnávania vzorov vo výrazoch prepínač, ktorý vám umožňuje používať flexibilné šablóny namiesto presných hodnôt v značkách „case“, pokrývajúcich množstvo hodnôt naraz, čo si predtým vyžadovalo ťažkopádne reťazce výrazov „if...else“.

Balenie obsahuje com.sun.net.httpserver, ktorý zahŕňa pomôcku jwebserver a API knižnice s realizáciou z jednoduchého http servera na poskytovanie statického obsahu (CGI a radiče podobné servletom nie sú podporované). Vstavaný http server nie je optimalizovaný pre pracovné zaťaženie a nepodporuje riadenie prístupu ani autentifikáciu, pretože je určený predovšetkým na použitie v procese vývoja prototypov, ladenia a testovania projektov.

Z ďalších zmien ktoré vynikajú:

  • JavaDoc podporuje značku "@úryvok» na vloženie pracovných príkladov a úryvkov kódu do dokumentácie API, ku ktorej možno pristupovať pomocou nástrojov na overenie, zvýrazňovania syntaxe a integrácie IDE.
  • Zastarané a budú odstránené v budúcom vydaní, mechanizmus dokončovania, ako aj súvisiace metódy, ako napr Object.finalize(), Enum.finalize(), Runtime.runFinalization() a System.runFinalization().
  • smetiari ZGC (Z Garbage Collector), SerialGC a ParallelGC podporujú deduplikáciu reťazcov.

JavaSE 18 je klasifikovaná ako bežná podporná verzia, pričom aktualizácie budú vydané pred ďalšou verziou. Vetvou dlhodobej podpory (LTS) by mala byť Java SE 17, ktorá bude dostávať aktualizácie až do roku 2029.

Je dôležité si uvedomiť, že počnúc vydaním Java 10 prešiel projekt na nový vývojový proces, čo znamená kratší cyklus tvorby nového vydania. Nová funkcionalita sa teraz vyvíja v neustále aktualizovanej hlavnej vetve, ktorá zahŕňa už dokončené zmeny a z ktorej sa vetvy rozvetvujú každých šesť mesiacov, aby sa stabilizovali nové vydania.

Získajte Java SE 18

Pre tých, ktorí majú záujem o testovanie tohto nového vydania, vedzte, že zostavy sú pripravené pre Linux (x86_64, AArch64), Windows (x86_64) a macOS (x86_64, AArch64) a možno ich získať z odkazu nižšie.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.