Java ищет во внутренней структуре каталогов jar точное совпадение с полным именем. Это выглядит; это не поиск. Если у вас есть 500 jar-файлов на пути к классам, Java будет просматривать их один за другим в указанном порядке, пока не найдет совпадение. Если jar, содержащий данный класс, является последним, Java будет искать файлы 500 jar. Так что я думаю, что это O (n).
ОБНОВЛЕНИЕ: Поведение, описанное выше, является поведением по умолчанию . Однако, как отметил Хасан, это можно оптимизировать, предоставив JarIndex в корневом файле JAR, позволяющий загрузчику классов найти правильный файл JAR с простым поиском по имени пакета.