На этой неделе — 22 марта 2022 года — Oracle выпустила новую версию JDK 18. Она содержит обновления для языка и его инструментов и девять JDK Enhancement Proposal (JEP) — например, кодовые сниппеты для Java API-документации и простой веб-сервер для тестирования и прототипирования.
Общие обновления языка и библиотек. Java API 18 теперь имеет набор символов UTF-8 по умолчанию — JEP 400. Это позволит зависимым от стандартного набора символов API работать единообразно на всех операционных системах и при любых конфигурациях.
Добавили простой веб-сервер — JEP 408. Это инструмент командной строки и API, который запускает минимальный веб-сервер для статичных файлов.
Разрешили пользователям реализовывать методы из Core Reflection с помощью обработчиков методов — JEP 416. Для реализации доступны java.lang.reflect.Method, конструкторы и свойства от java.lang.invoke.
Добавили service-provider interface (SPI) для имён хостов и определения интернет-адресов — JEP 418.
Инструменты. JDK 18 начал поддерживать код-сниппеты в Java API-документации — JEP 413. Это реализовано с помощью @snippet-тега.
Инкубаторы и фичи для будущих JDK-релизов. Разработчики добавили Vector API (третий инкубатор) — JEP 417. Это API для повышения производительности на CPU-архитектурах, которые поддерживают скалярное векторное расширение.
Позволили Java-программам взаимодействовать с кодом и данными извне Java‑runtime-пространства (второй инкубатор) — JEP 419. Это позволит эффективно вызывать функции вне JVM-среды и безопасно получать доступ к памяти через внешние API.
Добавили распознавание шаблонов в Switch-выражения — JEP 420.
Что ещё? Запретили метод финализации при удалении — JEP 421. Он всё ещё работает по умолчанию, но в будущих версиях будет отключён. Команда Oracle рекомендует заранее отказаться от него.
Подробнее про Java 18 — на сайте Oracle.