Final должен быть final
Конспект редакции
JEP 500 в JDK 26 — начало конца рефлексивных модификаций final-полей: что это значит для фреймворков и legacy-кода.
В JDK 26 появился JEP 500 — Prepare to Make Final Mean Final. Суть инициативы в том, что JVM начинает предупреждать при попытках изменить через deep reflection final-поле объекта, если оно не объявлено как static. Это первый шаг к тому, чтобы сделать модификатор final действительно неизменяемым на уровне платформы.
В одном из будущих релизов такие операции планируется запрещать по умолчанию — если только владелец приложения не разрешит их явно. Для индустрии это важный сигнал: хаки через рефлексию, на которых десятилетиями держались многие фреймворки и библиотеки, постепенно выводятся из легального поля. Командам, поддерживающим legacy-код с такими трюками, стоит готовиться заранее.
В статье разбираются детали JEP и практические последствия для разработчиков. Полная версия — на Хабре.
Материал агрегирован; полный текст — на сайте Хабр — ИТ-новости.
Фото (7)
Увеличить1 / 7



