




Вышла Java 25
Вышла общедоступная версия Java 25. В этот релиз попало около 2600 закрытых задач и 18 JEP'ов. Release Notes можно посмотреть здесь. Полный список изменений API – здесь.
Java 25 является LTS-релизом, а значит у него будут выходить обновления как минимум 5 лет с момента выхода (до сентября 2030 года).
Скачать JDK 25 можно по этим ссылкам:
Oracle JDK (лицензия NFTC)
OpenJDK (лицензия GPLv2 with Classpath Exception)
Рассмотрим все JEP'ы, которые попали в Java 25.
Module Import Declarations, которые были в режиме preview в Java 23 и Java 24, стали постоянной языковой конструкцией. По сравнению с Java 24 фича осталась без изменений.
Декларация import module M эквивалентна импорту всех экспортированных пакетов из модуля M и его транзитивных зависимостей в текущий модуль.
Например, импорт модуля java.base имеет тот же эффект, как если бы мы вручную импортировались все его 54 экспортированных пакета:
Таким образом, написав всего лишь один импорт, можно будет получить доступ до таких неотъемлемых классов и интерфейсов как List, Map, Stream, Path, Function и др. без необходимости отдельного импорта их с указанием соответствующих пакетов.
Такое нововведение может быть полезным при прототипировании, изучении языка и новых фич, а также для написания коротких скриптов, которые запускаются напрямую без предварительной компиляции.
При использовании компактных исходных файлов модуль java.base импортируется автоматически. Об этом следующий JEP 512.
Компактные исходные файлы и instance-методы main() стали постоянными. Среди рассматриваемых сегодня эта языковая фича была в preview дольше всех, появившись ещё аж в прошлом LTS-релизе: Java 21, Java 22, Java 23 и Java 24.
В этом релизе есть несколько изменений:
Название "простые исходные файлы" поменялось
Читать на habr.com