оно мне", пусть будет "просто из интереса".
Итак: Не подскажет ли кто, каков будет импакт на перфоманс и потребление ресурсов от класса, имплементирующего, скажем, 100 (1000, 10000) интерфейсов, по сравнению с классом, имплементирующим один?
Лично мне на ум чето не приходит ничего кроме (возможно) более обильного класслодинга.
Мне кажется, компилятору (в том числе JIT) будет плохо. Не фатально, но заметно.
С точки зрения метаданных -- разница будет в том смысле, что метаданные (классы) для реализованных интерфейсов тоже надо будет куда-то загрузить. А вот сделать invokeinterface от инстанса с 10К интерфейсами -- это будет интересный цирк, учитывая, что в Hotspot он без оптимизаций будет стоить O(n) от числа реализованных интерфейсов.
виртуальный вызов. предполагаю конструирование и вызовы методов будут линейны от кол-ва интерфейсов
Обсуждают сегодня