Издание на Java SE 19

По шест месеци развој, Oracle го издаде Java SE 19 (Јава платформа, стандардно издание 19), кој го користи проектот со отворен код OpenJDK како референтна имплементација. Со исклучок на отстранувањето на некои застарени функции, Java SE 19 одржува компатибилност наназад со претходните изданија на платформата Java - повеќето претходно напишани Java проекти сè уште ќе работат без измени кога се извршуваат според новата верзија. Инсталираните изданија на Java SE 19 (JDK, JRE и Server JRE) се подготвени за Linux (x86_64, AArch64), Windows (x86_64) и macOS (x86_64, AArch64). Развиена од проектот OpenJDK, референтната имплементација на Java 19 е целосно отворена под лиценцата GPLv2 со исклучоци на GNU ClassPath за да се овозможи динамично поврзување со комерцијални производи.

Java SE 19 е класифициран како издание за општа поддршка и ќе продолжи да добива ажурирања до следното издание. Филијалата за долгорочна поддршка (LTS) треба да биде Java SE 17, која ќе продолжи да добива ажурирања до 2029 година. Да потсетиме дека почнувајќи од објавувањето на Java 10, проектот се префрли на нов развоен процес, што подразбира пократок циклус за формирање на нови изданија. Сега е развиена нова функционалност во една постојано ажурирана главна гранка, која вклучува готови промени и од која филијалите се разгрануваат на секои шест месеци за да се стабилизираат новите изданија.

Новите функции во Java 19 вклучуваат:

  • Предложена е прелиминарна поддршка за шеми на записи, со проширување на функцијата за совпаѓање на шаблони воведена во Java 16 со алатки за парсирање на вредностите на класите на записи. На пример: рекорд 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.
  • Додадена е прелиминарна поддршка за FFM (Foreign Function & Memory) API, кој ви овозможува да ја организирате интеракцијата на Java програмите со надворешен код и податоци преку повикување функции од надворешни библиотеки и пристап до меморија надвор од JVM.
  • Додадена е поддршка за виртуелни нишки, кои се лесни нишки кои во голема мера го поедноставуваат пишувањето и одржувањето на апликациите со повеќе нишки со високи перформанси.
  • Предложен е четврти преглед на Vector API, кој обезбедува функции за векторски пресметки кои се извршуваат со помош на векторски инструкции на процесорите x86_64 и AArch64 и овозможуваат операциите да се применуваат истовремено на повеќе вредности (SIMD). За разлика од можностите дадени во компајлерот HotSpot JIT за автоматска векторизација на скаларните операции, новиот API овозможува експлицитна контрола на векторизацијата за паралелна обработка на податоци.
  • Додадена е трета експериментална имплементација на совпаѓање на шаблони во изразите „прекинувач“, што дозволува употреба во етикетите „случај“ не на точни вредности, туку на флексибилни обрасци кои покриваат серија вредности одеднаш, за кои претходно беше неопходно да се користете незгодни синџири на изрази „ако... друго“. Објект o = 123L; Стринг форматиран = прекинувач (o) { case Цел број 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); стандардно -> o.toString(); };
  • Додадено е експериментално API за структуриран паралелизам, кој го поедноставува развојот на апликации со повеќе нишки со третирање на повеќе задачи што се извршуваат во различни нишки како еден блок.

Извор: opennet.ru

Додадете коментар