rotate
Реализация статичного метода rotate в классе java.util.Collections содержала ошибку переполнения. Дефект проявлялся лишь на массивах с числом элементов больше, чем 2^30, т.е. на очень больших массивах, и находился в OpenJDK на протяжении 22 лет. Этому багу подвержены все версии Java по 21 включительно.
Как и в случае с другими долгожителями, ошибка была обнаружена случайно. На тот момент спикер преподавал студентам первого курса прикладной математики и информатики в МАИ. Оказалось, что даже реализация в Java SE, написанная инженерами Sun Microsystems, не проходит тесты, которые он подготовил для проверки лабораторных работ студентов! Это выступление — о тернистом пути от обнаружения дефекта до коммита в master. https://vkvideo.ru/video-111905078_456248802
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев