У меня есть сомнение, не влияют ли неиспользуемые импорты и неиспользуемые объекты в код Java?
Предположим, что объект инициализирован и никогда не используется, что происходит? И какова стоимость неиспользуемого импорта.
У меня есть сомнение, не влияют ли неиспользуемые импорты и неиспользуемые объекты в код Java?
Предположим, что объект инициализирован и никогда не используется, что происходит? И какова стоимость неиспользуемого импорта.
Это очень распространенный вопрос.
Как и большинство вопросов производительности, наилучшим подходом является написание самого чистого и простейшего кода, поскольку это улучшает ремонтопригодность кода и помогает обеспечить его хорошую работоспособность даже после его изменения. (Умный/Obtuse/Needlessly Подробный код может быстро запускаться, но, поскольку он изменяется простым смертным, он может стать намного медленнее)
Неиспользуемый импорт оказывает незначительное влияние на компилятор, но импорт не импортируется в байтовый код или во время выполнения.
Неиспользуемые объекты можно оптимизировать, но лучше всего их избегать, поскольку они почти всегда вызывают некоторое влияние на производительность, но, что более важно, затрудняют чтение и поддержание вашего кода.
Неиспользованный импорт не влияет на производительность во время выполнения. Это чисто механизм пространства имен. Тем не менее, вы всегда должны импортировать только то, что вам нужно для удобства чтения, и избегать конфликтов пространства имен, которые являются неприятностью.
Помимо читаемости кода и, следовательно, ремонтопригодности кода, может быть более быстрая компиляция java-кода (однако, незаметная) путем упорядочивания импорта, но производительность выполнения не влияет, поскольку на байт-код не влияет неторопливый импорт. Созданный байт-код остается тем же.
В то время как влияние на компиляцию минимально, влияние на развертывание может быть плохим, я только что наткнулся на неиспользуемый импорт, который требовал, чтобы отдельная библиотека стала зависимой от maven, еще одна проблема транзитивной зависимости не была найдена, но война было толще без каких-либо причин, добавьте к этому лишнюю банку в загрузчике классов webapp.