Есть баги, которые сразу понятны. А есть такие, после которых начинаешь сомневаться в самой JVM.
В этом докладе — реальный случай, где NullPointerException возник на final-поле с инициализацией new ConcurrentHashMap<>(). То есть в месте, которое по всем правилам Java просто не должно быть null.
Разберем, как Spring через CGLIB создает прокси, почему final-методы могут обойти AOP-перехват, что происходит с инициализацией полей при low-level инстанциации, и как в итоге совершенно обычный код превращается в трудноуловимый продакшен-баг.