【发布时间】:2011-01-09 14:44:02
【问题描述】:
import package.* 是否比 import package.MyClass 慢? 如果是,在哪个场景中:运行时还是编译?
【问题讨论】:
标签: java
import package.* 是否比 import package.MyClass 慢? 如果是,在哪个场景中:运行时还是编译?
【问题讨论】:
标签: java
import package.* 在编译时可能会变慢。如果该包中定义了很多东西,它也会减慢您的 IDE。
在运行时,there's no difference。
【讨论】:
{citationrequired} - 你有任何证据表明它在编译时变慢了吗?
{{citation needed}} :P 不,我手头没有这样的证据。不过,我已经直接注意到 IDE 速度下降。
这发生在编译期间。如果存在速度差异,则可以忽略不计。
【讨论】:
如果导入的包异常巨大,我猜通配符导入可能会减慢编译速度,但实际上,它可以忽略不计。
导入语句在运行时无效。无论使用通配符还是显式导入,编译后的类都是相同的。
但是,通配符导入通常不被鼓励,因为它们会使代码难以阅读;当以这种方式导入多个包时,人类读者不清楚一个类型来自哪个包。
【讨论】:
因为编译器做了一些优化,运行时不会变慢。 它在编译时可能会更慢,但在 99,99% 的情况下,您可能并不在意......
【讨论】: