Rilaxx Java SE 19

Wara sitt xhur ta 'żvilupp, Oracle ħareġ il-pjattaforma Java SE 19 (Java Platform, Standard Edition 19), li tuża l-proġett OpenJDK open source bħala implimentazzjoni ta' referenza. Bl-eċċezzjoni tat-tneħħija ta 'xi karatteristiċi deprecati, Java SE 19 iżomm kompatibilità b'lura ma' rilaxxi preċedenti tal-pjattaforma Java - il-biċċa l-kbira tal-proġetti Java miktuba qabel xorta se jaħdmu mingħajr modifika meta jitħaddmu taħt il-verżjoni l-ġdida. Bini ta' Java SE 19 lest biex jiġi installat (JDK, JRE, u Server JRE) huma ppreparati għal Linux (x86_64, AArch64), Windows (x86_64), u macOS (x86_64, AArch64). Żviluppata mill-proġett OpenJDK, l-implimentazzjoni ta' referenza Java 19 hija sors kompletament miftuħ taħt il-liċenzja GPLv2 b'eċċezzjonijiet GNU ClassPath biex tippermetti konnessjoni dinamika ma' prodotti kummerċjali.

Java SE 19 huwa kategorizzat bħala rilaxx ta 'appoġġ regolari, b'aġġornamenti li għandhom jiġu rilaxxati qabel ir-rilaxx li jmiss. Il-fergħa tal-appoġġ fit-tul (LTS) għandha tkun Java SE 17, li se tirċievi aġġornamenti sal-2029. Ifakkar li beda bir-rilaxx ta 'Java 10, il-proġett qaleb għal proċess ta' żvilupp ġdid, li jimplika ċiklu iqsar għall-formazzjoni ta 'rilaxxi ġodda. Funzjonalità ġdida issa qed tiġi żviluppata f'fergħa prinċipali waħda aġġornata kontinwament, li tinkorpora bidliet li diġà tlestew u li minnha fergħat huma ramifikati kull sitt xhur biex jistabbilizzaw rilaxxi ġodda.

Karatteristiċi ġodda f'Java 19 jinkludu:

  • Предложена предварительная поддержка шаблонов записей (record pattern), расширяющая появившуюся в Java 16 возможность сопоставления с образцом средствами для разбора значений классов типа record. Например: record Point(int x, int y) {} void printSum(Object o) { if (o instanceof Point(int x, int y)) { System.out.println(x+y); } }
  • В сборках для Linux обеспечена поддержка архитектуры RISC-V.
  • Добавлена предварительная поддержка API FFM (Foreign Function & Memory), позволяющего организовать взаимодействие Java-программ с внешними кодом и данными через вызов функций из внешних библиотек и доступ к памяти вне JVM.
  • Добавлена поддержка виртуальных потоков, представляющих собой легковесные потоки, значительно упрощающие написание и сопровождение высокопроизводительных многопоточных приложений.
  • Предложена четвёртая предварительная реализация API Vector, предоставляющего функции для векторных вычислений, которые выполняются с использованием векторных инструкций процессоров x86_64 и AArch64 и позволяют одновременно применить операции сразу к нескольким значениям (SIMD). В отличие от предоставляемых в JIT-компиляторе HotSpot возможностей по автовекторизации скалярных операций, новый API даёт возможность явно управлять векторизацией для параллельной обработки данных.
  • Добавлена третья экспериментальная реализация сопоставления по шаблону в выражениях «switch», позволяющая в метках «case» использовать не точные значения, а гибкие шаблоны, охватывающие сразу серию значений, для которых ранее приходилось использовать громоздкие цепочки выражений «if…else». 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(); };
  • Добавлен экспериментальный API для cтруктурированного параллелизма, упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.

Sors: opennet.ru

Żid kumment