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

Kyl*_*yle 7 java

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

cle*_*tus 17

不,导入仅用于编译以查找类引用.添加未使用的导入,但它们不执行任何操作.换一种方式:

import java.util.*;
Run Code Online (Sandbox Code Playgroud)

只是意味着你可以写:

Map map = new HashMap();
Run Code Online (Sandbox Code Playgroud)

代替:

java.util.Map map = new java.util.HashMap();
Run Code Online (Sandbox Code Playgroud)

就是这样.

  • 所以它可以稍微减慢编译时间! (2认同)
  • @Fakrudeen - 是的,但这不是问题所问的。 (2认同)

Ste*_*n C 5

不.进口纯粹是编译时构造......语法糖.

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


Joe*_*han 5

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

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