正在使用import some.directory。*性能更差?

时间:2010-08-14 18:55:19

标签: java

使用

对性能有什么好处
import some.directory.*; 

 import some.directory.classNeeded;

或者这不会对性能做出任何改变,因为编译器会对类中未使用的库进行折扣吗?所以它是为了方便而实现的?

4 个答案:

答案 0 :(得分:5)

只有编译器才能看到import指令,以帮助它区分不同包中的名称。它根本不会改变生成的字节码。所以性能应该没有区别。

有些人可能不愿意使用

的原因
import some.directory.*;

是它使用未知类污染命名空间,并且可能导致意外使用错误的类,即使通常发生这种情况的可能性非常小。

答案 1 :(得分:5)

import语句完全没必要。如果您愿意,您可以像Java开发人员一样,不用写一个;它只是意味着你将被迫为你的应用程序中的每个类输入完全限定的类名。

所有import允许您在代码中使用短类名而不是完全限定名(例如Connection而不是java.sql.Connection)。

如果您的班级有两个包含相同短类名的包,则您必须始终输入两个包以消除所有歧义(例如java.sql.Datejava.util.Date)。

不要将import与类加载混淆。它根本不会影响运行时性能;它只会影响你在开发过程中输入的键数。

答案 2 :(得分:2)

由于它是编译器指令,因此不会影响运行时性能。

进一步阅读http://www.javaperformancetuning.com/news/qotm031.shtml

PS,我发现这在Google上寻找“java import performance”,所以也许下次......

答案 3 :(得分:1)

根据this question没有性能点击,只是潜在的命名冲突。