Java SE 19 scaoileadh

Tar éis sé mhí forbartha, d'eisigh Oracle Java SE 19 (Java Platform, Standard Edition 19), a úsáideann an tionscadal foinse oscailte OpenJDK mar chur i bhfeidhm tagartha. Cé is moite de roinnt gnéithe as feidhm a bhaint, coinníonn Java SE 19 comhoiriúnacht siar le heisiúintí an ardáin Java roimhe seo - oibreoidh formhór na dtionscadal Java a scríobhadh roimhe seo gan athruithe nuair a reáchtáiltear iad faoin leagan nua. Ullmhaítear foirgnimh atá réidh le suiteáil de Java SE 19 (JDK, JRE agus Server JRE) le haghaidh Linux (x86_64, AArch64), Windows (x86_64) agus macOS (x86_64, AArch64). Arna fhorbairt ag an tionscadal OpenJDK, tá cur i bhfeidhm tagartha Java 19 foinse oscailte go hiomlán faoin gceadúnas GPLv2, le heisceachtaí GNU ClassPath a cheadaíonn nascadh dinimiciúil le táirgí tráchtála.

Tá Java SE 19 rangaithe mar scaoileadh tacaíochta rialta agus leanfaidh sé ag fáil nuashonruithe go dtí an chéad scaoileadh eile. Ba cheart go mbeadh an brainse Tacaíocht Fadtéarmach (LTS) Java SE 17, a leanfaidh de bheith ag fáil nuashonruithe go dtí 2029. Cuirfimid i gcuimhne duit, ag tosú le scaoileadh Java 10, gur aistrigh an tionscadal go próiseas forbartha nua, rud a thugann le tuiscint timthriall níos giorra chun eisiúintí nua a fhoirmiú. Forbraítear feidhmiúlacht nua anois i máistirbhrainse amháin a nuashonraítear i gcónaí, lena n-áirítear athruithe réamhdhéanta agus as a ndéantar brainsí a chraobhscaoileadh gach sé mhí chun eisiúintí nua a chobhsú.

I measc na ngnéithe nua i Java 19 tá:

  • Предложена предварительная поддержка шаблонов записей (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труктурированного параллелизма, упрощающий разработку многопоточных приложений за счёт обработки нескольких задач, выполняемых в разных потоках, как единого блока.

Foinse: oscailtenet.ru

Add a comment