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

2022-08-31 11:55:00

Java 代码中未使用的导入和未使用的对象是否会对性能产生任何影响?

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


答案 1

这是一个非常常见的问题。

与大多数性能问题一样,最好的方法是编写最清晰,最简单的代码,因为这可以提高代码的可维护性,并有助于确保即使在更改后也能很好地执行。(聪明/钝/不必要冗长代码可以快速运行,但由于它被凡人更改,它可能会变慢得多)

未使用的导入对编译器的影响很小,但在字节码中或运行时没有导入。

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


答案 2

未使用的导入在运行时不会影响性能。它纯粹是一种命名空间机制。尽管如此,您仍应始终仅导入可读性所需的内容,并避免令人讨厌的命名空间冲突。

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