tg-me.com/javatg/1751
Last Update:
🎉🎉🎉 Релиз: Java 24
Сегодня вышел релиз Java 24 – очередная не-LTS версия с важными улучшениями в производительности, многопоточности и API.
Вот основные нововведения, вошедшие в состав новой версии:
Позволяют использовать примитивные типы в конструкциях instanceof и switch. Теперь можно проводить проверки диапазонов и безопасное приведение типов без дополнительных проверок.
Улучшен механизм импорта модулей: при импорте агрегирующего модуля java.se автоматически подтягиваются классы из java.base, а импорт со звёздочкой теперь может перекрывать импорт модулей.
Теперь можно запускать Java-программы без явного объявления класса, а также использовать нестатический метод main(). Это упрощает написание скриптов и способствует более постепенному обучению языку.
Разрешается выполнение инструкций до вызова super(), что позволяет проводить предварительную инициализацию и проверки до передачи управления родительскому конструктору.
Изменения в API:
Новая точка расширения для Stream API, позволяющая создавать произвольные промежуточные операции (например, fold, scan, оконные операции) для более гибкой обработки данных.
Введено стандартное API для парсинга, генерации и трансформации class‑файлов, которое заменяет устаревшую библиотеку ASM и лучше соответствует современным требованиям Java.
Уведомления при использовании
При вызове методов доступа к памяти из sun.misc.Unsafe теперь выводятся предупреждения, что стимулирует переход на более безопасные альтернативы (например, VarHandle и MemorySegment).
При загрузке нативных библиотек через JNI теперь выводятся предупреждения. Разработчикам предлагается явно указывать разрешение на нативный доступ через командную строку (с помощью опций вроде --enable-native-access), что соответствует философии «Integrity by Default».
📌 Релиз: https://openjdk.org/projects/jdk/24
📌Java 24 Launch: https://www.youtube.com/watch?v=mk_2MIWxLI0