И наконец-то это не очередной соевый и скучный релиз без значимых изменений - 25ке есть чем удивить и порадовать нас. LTS-версия как никак.
👇 Смотрим нововведения:
1. новичок в пакете java.lang - RandomExcuse
Добавлен вспомогательный класс RandomExcuse для генерации сообщения о причине возникновения исключения:
throw new RuntimeException(new RandomExcuse());
Примеры сообщений исключения: "Раньше работало", "Это ошибка кэшей", "Jenkins-агент тупит".
2. Ключевое слово bless
Позволяет JVM "благословить" переменную — она больше не сможет принимать null-значение, а объект внутри нее не сможет выбрасывать исключения при вызове методов. Пример использования:
bless databaseConnection;
3. @LegacyCode
Новая аннотация
@LegacyCode над классом добавляет легкую сериализацию кода этого класса в PDF-формат для монохромной печати листинга кода на бересте или листках пергамента.4. Модуль ИИ в JVM и конструкция please {}
Крик отчаяния! Для борьбы с выгоранием разработчиков и для упрощения написание кода - синтаксически некорректный фрагмент достаточно обернуть в конструкцию please {}.
//До JVM AI:
please {
int x equals "10"
}
//После JVM AI:
int x = 10;
System.out.println("Ты отличный разработчик. Я горжусь тобой.");
На этапе компиляции JVM AI:
- автоматически дополнит и починит код
- выведет мотивирующую цитату
- включит случайный lo-fi плейлист
- закажет горячий какао для разработчика в сервисе доставки его региона
А что из фичей вы хотите в следующем релизе? Я соберу ваши хотелки из комментов и лично напишу в Оракл открытое письмо с предложениями😄
