Java中的额外导入会减慢代码加载时间吗?

时间:2010-03-14 01:37:38

标签: java

是否有可能在java代码中添加更多import语句会减慢将类加载到JVM所需的时间?

4 个答案:

答案 0 :(得分:15)

不,导入仅用于编译以查找类引用。添加未使用的导入,但它们不执行任何操作。换句话说:

import java.util.*;

只是意味着你可以写:

Map map = new HashMap();

而不是:

java.util.Map map = new java.util.HashMap();

就是这样。

答案 1 :(得分:5)

没有。进口纯粹是编译时构造......语法糖。

导入告诉Java编译器如何将源代码中的标识符映射到完全限定的类名。但是如果源代码不使用导入的类,则字节码文件将不会引用它。因此,冗余导入不会(也不会)影响类加载时间。

答案 2 :(得分:5)

导入可能会影响编译时间,但不会影响加载时间或运行时间。基本上,如果你导入了你不需要的类(通常在显式导入时使用通配符导入),那么你可以稍微减慢编译器的速度。

然而,除非你正在编译一个庞大的系统,否则即使这种影响通常也是微不足道的。

答案 3 :(得分:4)

不要将“import”一词与“class loading”混淆。 import语句不会导致任何代码加载到内存中。这只是一种便利,它允许您使用短名称来引用类,而不是键入完整的类名(例如,“Connection”而不是“java.sql.Connection”)。