Java导入会很慢吗?

Java导入会很慢吗?,java,Java,导入包。*是否比导入包.MyClass慢? 如果是,在哪个scneario中:运行时还是编译?导入包。*在编译时可能较慢。如果IDE包中定义了很多东西,那么它也会降低IDE的速度 在运行时,编译时会发生这种情况。如果存在速度差异,则可以忽略不计。因为编译器进行了一些优化,所以在运行时不会变慢。 编译时它可能会慢一些,但在99,99%的情况下,您可能不在乎…我想如果导入的包异常庞大,则通配符导入可能会使编译速度慢一些,但实际上,它可以忽略不计 导入语句在运行时无效。无论使用通配符还是显式导入,编译

导入包。*是否比导入包.MyClass慢?
如果是,在哪个scneario中:运行时还是编译?

导入包。*
在编译时可能较慢。如果IDE包中定义了很多东西,那么它也会降低IDE的速度


在运行时,编译时会发生这种情况。如果存在速度差异,则可以忽略不计。

因为编译器进行了一些优化,所以在运行时不会变慢。
编译时它可能会慢一些,但在99,99%的情况下,您可能不在乎…

我想如果导入的包异常庞大,则通配符导入可能会使编译速度慢一些,但实际上,它可以忽略不计

导入语句在运行时无效。无论使用通配符还是显式导入,编译的类都是相同的


然而,通配符导入通常是不被鼓励的,因为它们使代码难以阅读;当以这种方式导入多个包时,人类读者不清楚一种类型的包来自何处。

不鼓励通配符导入的其他原因:重新链接:这是真的,我自己也被烧坏了。我在导入java.util.*时也被烧掉过几次,所以我可以使用Date,然后再添加java.sql.*,反之亦然。这与链接描述的问题并不完全相同——错误是在我添加导入时出现的,而不是在其他可怜的家伙签出我的代码时出现的——但根本的问题是相同的:当你不关心其中一个选项时,你会被一个模棱两可的引用烧坏。也就是说,我必须承认,我通常不担心这个问题,只要我想要超过3个,就使用import something.*现代IDE(甚至是一些古老的IDE)会告诉你一个类在什么包中,如果你在声明中将鼠标悬停在类名上。我看不出这是如何使代码可读性降低的。如果在不同的包中有两个同名的类,为了减少混淆,应该在对象声明语句中使用完整的包名,但只有在一个类中使用两个同名的类时才需要使用完整的包名-你有证据证明它在编译时比较慢吗?你的意思是
{{需要引用}}
:P没有,我手头没有这样的证据。不过,我已经注意到IDE减速的第一手资料。哦,我的引文刚刚出现:它不是真正的优化,只是编译器将完全限定的名称编译到.class文件中(导入是一个编译器指令)。