未使用的导入和对象是否会对性能产生影响

Dhe*_*shi 66 java import bytecode packages

我有一个疑问,Java代码中未使用的导入和未使用的对象是否会产生任何性能影响?

假设一个对象被初始化并且从未使用过,会发生什么?未使用的进口成本是多少?

Pet*_*rey 64

这是一个非常普遍的问题.

与大多数性能问题一样,最好的方法是编写最清晰,最简单的代码,因为这样可以提高代码的可维护性,并有助于确保代码在更改后表现得相当好.(Clever/Obtuse/Needless Verbose代码可以快速运行开始,但由于它被凡人改变它可以变慢得多)

未使用的导入对编译器有轻微影响,但字节代码或运行时没有导入.

可以优化掉未使用的对象,但最好避免使用这些对象,因为它们几乎总是会对性能产生一些影响,但更重要的是使读取和维护代码更加困难.

  • @EduardoBezerra您可以从字节顺序规范中看到未使用导入,因此它们可以在运行时产生影响. (2认同)

Fra*_*ine 22

未使用的导入在运行时没有性能影响.它纯粹是命名空间机制.尽管如此,您应该始终只导入可读性所需的内容,并避免名称空间冲突,这是一个令人讨厌的问题.

除了代码可读性和代码的可维护性之外,通过整理导入可以更快地编译java代码(但是,不明显),但运行时性能不受影响,因为生成的字节代码不受不整齐导入的影响.生成的字节代码保持不变.

  • 请为“未使用的进口没有性能影响”提供参考。 (3认同)
  • 更准确地说,在运行时对性能没有影响。但是,根据进口数量的不同,COMPLATION可能会变慢,但不会引起注意。 (2认同)

小智 8

虽然编译的影响很小,但部署的影响可能很小.我刚刚遇到一个未使用的导入,需要一个单独的库,它成为一个maven依赖.幸运的是,没有找到进一步的传递依赖问题,但战争无缘无故.在webapp类加载器中添加一个多余的jar.