NPE, которого «не может быть» | Vertis Java Meetup
Яндекс Вертикали
0:00 / 0:00
NPE, которого «не может быть» | Vertis Java Meetup
129 просмотров · 2 месяца назад
Яндекс Вертикали
1,09 тыс. подписчиков
129 просмотров · 2 месяца назад
Есть баги, которые сразу понятны. А есть такие, после которых начинаешь сомневаться в самой JVM.
В докладе Михаил Черноскутов разбирает реальный случай, где NullPointerException возник на final-поле с инициализацией new ConcurrentHashMap. То есть в месте, которое по всем правилам Java просто не должно быть null.
Разберёмся вместе, как Spring через CGLIB создает прокси, почему final-методы могут обойти AOP-перехват, что происходит с инициализацией полей при low-level инстанциации, и как в итоге совершенно обычный код превращается в трудноуловимый продакшен-баг.
————————
Vertis Java Meetup — ивент для разработчиков от команды Яндекс Вертикалей (Недвижимость, Аренда и Путешествия).
Подписывайтесь на наш телеграм-канал, чтобы быть в курсе всех событий, полезных кейсов и актуальных вакансий для айтишников: https://t.me/ya_verticals_tech