បន្ទាប់ពីរយៈពេលប្រាំមួយខែនៃការអភិវឌ្ឍន៍ Oracle បានចេញផ្សាយ វេទិកា ចាវ៉ា SE ១៥ (Java Platform, Standard Edition 13) គម្រោង OpenJDK ប្រភពបើកចំហត្រូវបានប្រើជាការអនុវត្តយោង។ Java SE 13 រក្សាភាពឆបគ្នាថយក្រោយជាមួយនឹងការចេញផ្សាយពីមុននៃវេទិកា Java គម្រោង Java ដែលបានសរសេរពីមុនទាំងអស់នឹងដំណើរការដោយគ្មានការផ្លាស់ប្តូរនៅពេលដាក់ឱ្យដំណើរការក្រោមកំណែថ្មី។ រួចរាល់ដើម្បីដំឡើង Java SE 13 builds (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, предварительные сборки которого уже មាន សម្រាប់ការធ្វើតេស្ត។
បន្ថែម поддержка динамического дополнения архивов CDS (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.