我怀疑Java代码中未使用的导入和未使用的对象是否会对性能产生影响?
假设一个对象已初始化并且从未使用过,会发生什么?未使用进口的成本是多少?
我怀疑Java代码中未使用的导入和未使用的对象是否会对性能产生影响?
假设一个对象已初始化并且从未使用过,会发生什么?未使用进口的成本是多少?
Organize Imports
函数?
Answers:
这是一个非常普遍的问题。
像大多数性能问题一样,最好的方法是编写最清晰,最简单的代码,因为这可以提高代码的可维护性,并有助于确保代码即使更改后也能正常运行。(聪明/难以理解/不必要地开始,详细的代码可以快速运行,但是由于只是凡人而改变,它的运行速度会慢得多)
未使用的导入对编译器有微不足道的影响,但是字节码或运行时中没有导入。
可以对未使用的对象进行优化,但是最好避免使用这些对象,因为它们几乎总是会影响性能,但是更重要的是,使阅读和维护代码更加困难。
未使用的导入对运行时的性能没有影响。它纯粹是一种名称空间机制。但是,您应该始终仅导入所需的可读性,并避免名称空间冲突。
除了代码可读性以及代码的可维护性之外,通过整理导入,可以更快地编译Java代码(但是,不引人注意),但是运行时性能不会受到影响,因为生成的字节代码不受导入不规则的影响。生成的字节码保持不变。
unused imports have no performance impact
尽管对编译的影响很小,但对部署的影响却很糟糕。我刚刚遇到了一个未使用的导入,该导入需要一个单独的库,该库成为了maven依赖项。幸运的是,没有发现其他传递依赖问题,但.war
文件无缘无故变厚了。在webapp类加载器中添加一个多余的jar。