Java SE 19 laidiens

Pēc sešu mēnešu izstrādes Oracle ir izlaidusi Java SE 19 (Java Platform, Standard Edition 19), kas izmanto OpenJDK atvērtā pirmkoda projektu kā atsauces ieviešanu. Izņemot dažu novecojušu funkciju noņemšanu, Java SE 19 saglabā atpakaļsaderību ar iepriekšējiem Java platformas laidieniem — lielākā daļa iepriekš rakstīto Java projektu joprojām darbosies bez izmaiņām, ja tie darbojas jaunajā versijā. Instalējamās Java SE 19 (JDK, JRE un Server JRE) versijas ir sagatavotas operētājsistēmai Linux (x86_64, AArch64), Windows (x86_64) un macOS (x86_64, AArch64). Izstrādāts OpenJDK projektā, Java 19 atsauces ieviešana ir pilnībā atvērta saskaņā ar GPLv2 licenci ar GNU ClassPath izņēmumiem, lai nodrošinātu dinamisku saiti ar komerciāliem produktiem.

Java SE 19 ir klasificēts kā regulārs atbalsta laidiens, un tas turpinās saņemt atjauninājumus līdz nākamajam laidienam. Ilgtermiņa atbalsta (LTS) filiālei vajadzētu būt Java SE 17, kas turpinās saņemt atjauninājumus līdz 2029. gadam. Atgādinām, ka, sākot ar Java 10 izlaišanu, projekts pārgāja uz jaunu izstrādes procesu, kas nozīmē īsāku ciklu jaunu laidienu veidošanai. Jauna funkcionalitāte tagad ir izstrādāta vienā pastāvīgi atjauninātajā galvenajā filiālē, kas ietver gatavas izmaiņas un no kuras filiāles tiek atzarotas ik pēc sešiem mēnešiem, lai stabilizētu jaunus izdevumus.

Jaunās Java 19 funkcijas ietver:

  • Ir ierosināts sākotnējais atbalsts ierakstu modeļiem, paplašinot Java 16 ieviesto modeļu saskaņošanas līdzekli ar rīkiem ierakstu tipu klašu vērtību parsēšanai. Piemēram: ieraksts Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • Linux versijas nodrošina atbalstu RISC-V arhitektūrai.
  • Pievienots sākotnējais atbalsts FFM (Foreign Function & Memory) API, kas ļauj organizēt Java programmu mijiedarbību ar ārēju kodu un datiem, izsaucot funkcijas no ārējām bibliotēkām un piekļūstot atmiņai ārpus JVM.
  • Pievienots atbalsts virtuālajiem pavedieniem, kas ir viegli pavedieni, kas ievērojami vienkāršo augstas veiktspējas daudzpavedienu lietojumprogrammu rakstīšanu un uzturēšanu.
  • Ir ierosināts ceturtais Vector API priekšskatījums, kas nodrošina vektoru aprēķinu funkcijas, kas tiek izpildītas, izmantojot vektoru instrukcijas x86_64 un AArch64 procesoros, un ļauj vienlaikus lietot darbības vairākām vērtībām (SIMD). Atšķirībā no HotSpot JIT kompilatora piedāvātajām iespējām skalāro operāciju automātiskai vektorizācijai, jaunais API ļauj skaidri kontrolēt vektorizāciju paralēlai datu apstrādei.
  • Ir pievienota trešā eksperimentālā modeļu saskaņošanas ieviešana “slēdža” izteiksmēs, kas ļauj izmantot elastīgas veidnes “case” etiķetēs, nevis precīzas vērtības, aptverot vienlaikus virkni vērtību, kurām iepriekš bija jāizmanto apgrūtinošas izteicienu “ja...citādi” ķēdes. Objekts o = 123L; Virkne formatēta = slēdzis (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); noklusējuma -> o.toString(); };
  • Pievienots eksperimentāls API strukturētam paralēlismam, kas vienkāršo vairāku pavedienu lietojumprogrammu izstrādi, apstrādājot vairākus uzdevumus, kas darbojas dažādos pavedienos, kā vienu bloku.

Avots: opennet.ru

Pievieno komentāru