Из-за бенчмаркинга, выполненного в других потоках (см. qaru.site/info/17746/...), было показано, что instanceof в Java 6 на самом деле довольно быстро. Как это достигается?
Я знаю, что для одиночного наследования самая быстрая идея имеет некоторую вложенную кодировку интервала, где каждый класс поддерживает [низкий, высокий] интервал, а instanceof - это просто тест включения интервалов, т.е. 2 целых сравнения. Но как это делается для интерфейсов (поскольку интервальное включение работает только для одиночного наследования)? И как обрабатывается загрузка классов? Загрузка новых подклассов означает, что необходимо отрегулировать множество интервалов.