Издание Java SE 13

След шестимесечна разработка, компания Oracle пусна платформа Java SE 13 (Java Platform, Standard Edition 13), като еталонна реализация, използваща отворения проект OpenJDK. В Java SE 13 е запазена обратната съвместимост с предишните версии на Java платформата; всички предишно написани Java проекти ще работят без промени под новата версия. Готови за инсталиране компилации на Java SE 13 (JDK, JRE и Server 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 проекта е преминал към нов процес на разработка, предвиждащ по-кратък цикъл за нови издания. Новите функции вече се развиват в постоянно актуализирана master клон, в който се включват готовите промени и от който на всеки шест месеца се отделят клонове за стабилизация на новите издания. Планирано е издаването на Java 14 за март следващата година, предварителните компилации на която вече на разположение са налични за тестване.

От нововъведения Java 13 може да отбележим:

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

    int numLetters = switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> 6;
    case TUESDAY -> 7;
    case THURSDAY, SATURDAY -> 8;
    case WEDNESDAY -> 9;
    };

    или

    System.out.println(
    switch (k) {
    case 1 -> "one"
    case 2 -> "two"
    default -> "many"
    }
    );

    В бъдеще на базата на тази възможност се предвижда да се реализира поддръжка на шаблонно съвпадение;

  • Добавена е експериментална поддръжка на текстови блокове — нова форма на стрингови литерали, позволяващи вграждането на многострочни текстови данни в изходния код без използване на екраниране на символи и запазваща оригиналното форматиране на текста в блока. Ограничаващият блок се осъществява с три двойни кавички. Например, вместо израза

    String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
    "WHERE `CITY` = 'INDIANAPOLIS'\n" +
    "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

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

    String query = """
    SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
    WHERE `CITY` = 'INDIANAPOLIS'
    ORDER BY `EMP_ID`, `LAST_NAME`;
    «»»;

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

Издание Java SE 13

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster