Версия на Java SE 13

След шест месеца разработка, Oracle освободен платформа JavaSE 13 (Java Platform, Standard Edition 13), проектът OpenJDK с отворен код се използва като референтна реализация. Java SE 13 поддържа обратна съвместимост с предишни издания на платформата Java; всички написани преди това Java проекти ще работят без промени, когато бъдат стартирани под новата версия. Готови за инсталиране компилации на Java SE 13 (JDK, JRE и сървър JRE) подготвени за Linux (x86_64), Solaris, Windows и macOS. Референтна реализация, разработена от проекта OpenJDK Java 13 е с напълно отворен код под лиценз GPLv2, с изключения от GNU ClassPath, позволяващи динамично свързване с търговски продукти.

Java SE 13 се класифицира като версия за обща поддръжка и ще продължи да получава актуализации до следващото издание. Клонът за дългосрочна поддръжка (LTS) трябва да бъде Java SE 11, който ще продължи да получава актуализации до 2026 г. Предишният LTS клон на Java 8 ще се поддържа до декември 2020 г. Следващото LTS издание е насрочено за септември 2021 г. Нека ви напомним, че започвайки с пускането на Java 10, проектът премина към нов процес на разработка, което предполага по-кратък цикъл за формиране на нови версии. Новата функционалност вече е разработена в един постоянно актуализиран главен клон, който включва готови промени и от който клоновете се разклоняват на всеки шест месеца, за да се стабилизират новите версии. Java 14 е насрочено за пускане през март следващата година, като вече има предварителни версии на разположение за тестване.

На иновации Java 13 може да марка:

  • Добавено от поддръжка за динамично добавяне на CDS (Class-Data Sharing) архиви, осигуряващи достъп на споделено приложение до общи класове. С CDS общите класове могат да бъдат поставени в отделен, споделен архив, което позволява на приложенията да стартират по-бързо и да намалят режийните разходи. Новата версия добавя инструменти за динамично архивиране на класове след края на изпълнението на приложението. Архивираните класове включват всички класове и съпътстващи библиотеки, заредени по време на работа на програмата, които не са били в първоначално предоставения базов CDS архив;
  • Към ZGC (Z Garbage Collector) добави поддръжка за връщане на неизползвана памет към операционната система;
  • Участващи преработена реализация на Legacy Socket API (java.net.Socket и java.net.ServerSocket), която е по-лесна за поддръжка и отстраняване на грешки. В допълнение, предложената реализация ще бъде по-лесна за адаптиране за работа с новата система от нишки в потребителското пространство (влакна), разработена като част от проекта Loom;
  • Продължава разработване на нова форма на изрази "превключване". Добавена е експериментална (Преглед) възможност за използване на „превключвател“ под формата не само на оператор, но и като израз. Например, вече можете да използвате конструкции като:

    int numLetters = превключване (ден) {
    случай ПОНЕДЕЛНИК, ПЕТЪК, НЕДЕЛЯ -> 6;
    случай ВТОРНИК -> 7;
    случай ЧЕТВЪРТЪК, СЪБОТА -> 8;
    случай СРЯДА -> 9;
    };

    или

    System.out.println(
    превключвател (k) {
    случай 1 -> "едно"
    случай 2 -> "две"
    по подразбиране -> "много"
    }
    );

    В бъдеще, въз основа на тази функция е планирано прилагане на поддръжка за съпоставяне на шаблони;

  • Добавено от експериментална поддръжка за текстови блокове - нова форма на низови литерали, които ви позволяват да включвате многоредови текстови данни във вашия изходен код, без да използвате екраниране на знаци и запазване на оригиналното форматиране на текста в блока. Блокът е рамкиран с три двойни кавички. Например вместо израза

    Заявка за низ = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    „КЪДЕ `ГРАД` = 'ИНДИАНАПОЛИС'\n" +
    "ПОРЪЧКА ПО `EMP_ID`, `ЛАСТ_ИМЕ`;\n";

    Сега можете да използвате конструкцията:

    Заявка за низ = """
    ИЗБЕРЕТЕ `EMP_ID`, `LAST_NAME` ОТ `EMPLOYEE_TB`
    WHERE `CITY` = 'INDIANAPOLIS'
    ПОРЪЧКА ПО `EMP_ID`, `LAST_NAME`;
    """;

  • 2126 доклада за грешки са затворени, от които 1454 са разрешени от служители на Oracle и 671 от трети страни, от които една шеста от промените са направени от независими разработчици, а останалите от представители на компании като IBM, Red Hat, Google , Loongson, Huawei, ARM и SAP.

Версия на Java SE 13

Източник: opennet.ru

Добавяне на нов коментар