После шести месяцев разработки компания Oracle платформу (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 эталонная реализация полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами.
Java SE 13 отнесён к категории выпусков с обычным сроком поддержки, обновления для которого будут выпускаться до следующего релиза. В качестве ветки с длительным сроком поддержки (LTS) следует использовать Java SE 11, обновления для которого будут выпускаться до 2026 года. Прошлая LTS-ветка Java 8 будет поддерживаться до декабря 2020 года. Следующий LTS-релиз намечен на сентябрь 2021 года. Напомним, что начиная с выпуска Java 10 проект перешёл на новый процесс разработки, подразумевающий более короткий цикл формирования новых релизов. Новая функциональность теперь развивается в одной постоянно обновляемой master-ветке, в которую включаются уже готовые изменения и от которой раз в шесть месяцев ответвляются ветки для стабилизации новых выпусков. На март следующего года запланирован выпуск Java 14, предварительные сборки которого уже для тестирования.
Iz :
- поддержка динамического дополнения архивов CDS (Class-Data Sharing), обеспечивающих совместный доступ приложений к общим классам. При помощи CDS общие классы могут размещаться в отдельном совместно используемом архиве, что позволяет ускорить запуск приложений и снизить накладные расходы. В новой версии добавлены средства для динамического архивирования классов после окончания выполнения приложения. Помещённые в архив классы включают все загруженные в процессе работы программы классы и сопутствующие библиотеки, которые отсутствовали в изначально предоставленном базовом CDS-архиве;
- В сборщик мусора ZGC (Z Garbage Collector) поддержка возвращения неиспользуемой памяти операционной системе;
- preuređena implementacija API Legacy Socket (java.net.Socket i java.net.ServerSocket), koja je jednostavnija za održavanje i debagiranje. Pored toga, predložena implementacija će se lakše prilagoditi za rad sa novim sistemom niti u korisničkom prostoru (fibers), razvijenim u okviru projekta Loom;
- razvoj nove forme izraza "switch". Dodana je eksperimentalna (Preview) mogućnost korišćenja "switch" u formi ne samo operatora, već i kao izraza. Na primer, sada je moguće koristiti konstrukcije poput:
int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
};ili
System.out.println(
switch (k) {
case 1 -> "one"
case 2 -> "two"
default -> "many"
}
);U budućnosti na osnovu ove mogućnosti realizovati podršku za usklađivanje po šablonima;
- eksperimentalna podrška za tekstualne blokove — novu formu literala stringova, koji omogućavaju uključivanje višelinijskih tekstualnih podataka u izvorni kod bez potrebe za eskapiranjem karaktera i čuvajući izvorno formatiranje teksta u bloku. Obavijanje bloka vrši se sa tri dupla navodnika. Na primer, umesto izraza
String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
"WHERE `CITY` = 'INDIANAPOLIS'\n" +
"ORDER BY `EMP_ID`, `LAST_NAME`;\n";sada je moguće primenjivati konstrukciju:
String query = """
SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
WHERE `CITY` = 'INDIANAPOLIS'
ORDER BY `EMP_ID`, `LAST_NAME`;
«»»; - Zatvoreno je 2126 izveštaja o greškama, od kojih je 1454 rešeno od strane Oracle zaposlenih, a 671 od strane spoljnih učesnika, pri čemu je jedna šesta promena izvršena od strane nezavisnih developera, dok su ostalo predstavnici kompanija kao što su IBM, Red Hat, Google, Loongson, Huawei, ARM i SAP.
Izvor: opennet.ru
