Java SE 19 vÀljaanne

PĂ€rast kuut kuud arendust vabastas Oracle Java SE 19 (Java Platform, Standard Edition 19) platvormi, mille etalonrakenduseks on avatud projekt OpenJDK. VĂ€lja arvatud mĂ”ned vananenud funktsioonide eemaldamised, on Java SE 19 sĂ€ilitanud tagasiĂŒlendavad ĂŒhilduvuse varasemate Java vĂ€ljaannetega — enamik varasemalt kirjutatud Java projekte töötavad uue versiooni all muutmata kujul. Paigaldusvalmis Java SE 19 kogumid (JDK, JRE ja Server JRE) on ette valmistatud Linuxile (x86_64, AArch64), Windowsile (x86_64) ja macOSile (x86_64, AArch64). OpenJDK projekti raames arendatud Java 19 etalonrakendus on tĂ€ielikult avatud GPLv2 litsentsi alusel koos GNU ClassPath eranditega, mis lubavad dĂŒnaamilist sidumist kaubanduslike toodetega.

Java SE 19 kuulub regulaarse toe vĂ€ljundite kategooriasse, mille vĂ€rskendusi antakse kuni jĂ€rgmise versioonini. Pikaajalise toe (LTS) haruna tuleks kasutada Java SE 17, mille vĂ€rskendusi antakse kuni 2029. aastani. Tuletame meelde, et alates Java 10 versiooni ilmumist on projekt lĂ€inud ĂŒle uuele arendusprotsessile, mis hĂ”lmab lĂŒhemat uut versiooni loomisprotsessi. Uus funktsionaalsus areneb nĂŒĂŒd ĂŒhes pidevalt uuendatavas master-harus, kuhu kaasatakse valmislahendused ja mille pĂ”hjal harud stabiliseerimiseks loovad iga kuue kuu tagant.

Java 19 uuendusena vÔib mÀrkida:

  • Parkide mallide (record pattern) esialgne tugi, mis laiendab Java 16 vĂ”imalust nĂ€idistega vastavusse viimist record-tĂŒĂŒpi klasside vÀÀrtuste analĂŒĂŒsi jaoks. NĂ€iteks: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Linuxi kogumites on tagatud RISC-V arhitektuuri tugi.
  • Lisatud on Foreign Function & Memory (FFM) API esialgne tugi, mis vĂ”imaldab Java programmide suhtlemist vĂ€liste koodide ja andmete kaudu, kutsudes funktsioone vĂ€liste teekide seest ja pÀÀsedes juurde mĂ€lu vĂ€ljaspool JVM-i.
  • Lisatud on virtuaalsete voogude tugi, mis on kergekaalulised vood, mis oluliselt lihtsustavad kĂ”rge jĂ”udlusega mitme lĂ”imega rakenduste kirjutamist ja hooldamist.
  • Esitati neljanda eelversioon API Vector, mis pakub vektorkalkulatsioonide funktsioone, mida teostatakse x86_64 ja AArch64 protsessorite vektorinstruktsioonide kasutamisel ning vĂ”imaldab samaaegselt rakendada operatsioone mitmele vÀÀrtusele (SIMD). Erinevalt HotSpot JIT-kompilaatori pakutud automaatvektoriseerimise vĂ”imalustest skalaarsete operatsioonide jaoks, annab uus API vĂ”imaluse selgelt hallata vektori töötlemist andmete korraga töötlemiseks.
  • Lisatud kolmas eksperimentaalne mallevastav implementatsioon "switch"-avaldises, mis vĂ”imaldab "case"-mĂ€rkides kasutada mitte tĂ€pseid vÀÀrtusi, vaid paindlikke malle, mis hĂ”lmavad kohe mitmeid vÀÀrtusi, mille jaoks varem tuli kasutada mahukaid "if...else"-avaldisi. Object o = 123L; String formatted = switch (o) { case Integer i -> String.format("int %d", i); case Long l -> String.format("long %d", l); case Double d -> String.format("double %f", d); case String s -> String.format("String %s", s); default -> o.toString(); };
  • Lisatud eksperimentaalne API struktureeritud paralleelsuse jaoks, mis lihtsustab mitme keeruka rakenduse arendamist, kĂ€sitledes mitut ĂŒlesannet, mis tĂ€idetakse erinevates lĂ”imedes, kui ĂŒhtset plokki.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster