Неиспользованный импорт и объекты влияют на производительность

У меня есть сомнение, не влияют ли неиспользуемые импорты и неиспользуемые объекты в код Java?

Предположим, что объект инициализирован и никогда не используется, что происходит? И какова стоимость неиспользуемого импорта.

Ответ 1

Это очень распространенный вопрос.

Как и большинство вопросов производительности, наилучшим подходом является написание самого чистого и простейшего кода, поскольку это улучшает ремонтопригодность кода и помогает обеспечить его хорошую работоспособность даже после его изменения. (Умный/Obtuse/Needlessly Подробный код может быстро запускаться, но, поскольку он изменяется простым смертным, он может стать намного медленнее)

Неиспользуемый импорт оказывает незначительное влияние на компилятор, но импорт не импортируется в байтовый код или во время выполнения.

Неиспользуемые объекты можно оптимизировать, но лучше всего их избегать, поскольку они почти всегда вызывают некоторое влияние на производительность, но, что более важно, затрудняют чтение и поддержание вашего кода.

Ответ 2

Неиспользованный импорт не влияет на производительность во время выполнения. Это чисто механизм пространства имен. Тем не менее, вы всегда должны импортировать только то, что вам нужно для удобства чтения, и избегать конфликтов пространства имен, которые являются неприятностью.

Помимо читаемости кода и, следовательно, ремонтопригодности кода, может быть более быстрая компиляция java-кода (однако, незаметная) путем упорядочивания импорта, но производительность выполнения не влияет, поскольку на байт-код не влияет неторопливый импорт. Созданный байт-код остается тем же.

Ответ 3

В то время как влияние на компиляцию минимально, влияние на развертывание может быть плохим, я только что наткнулся на неиспользуемый импорт, который требовал, чтобы отдельная библиотека стала зависимой от maven, еще одна проблема транзитивной зависимости не была найдена, но война было толще без каких-либо причин, добавьте к этому лишнюю банку в загрузчике классов webapp.