是否有可能在java代码中添加更多import语句会减慢将类加载到JVM所需的时间?
答案 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”)。