编译器警告是否对Web应用程序性能有任何影响

时间:2012-05-30 10:04:47

标签: java performance jsp web-applications javac

作为一个懒惰的程序员,我通常会忽略 Jsp Java 代码中的编译器警告。

我可以通过认为在运行时可以解决缺少的JavaScript,验证和其他内容来证明 JSP 警告。但需要确定。

但我总是被 Java 警告(如

)所取笑
  • [GENERIC Type]是原始类型。应参考通用类型[GENERIC TYPE]参考。

  • 永远不会在本地读取[FIELD NAME]字段。

还有很多。

我的问题是

警告会对性能产生影响吗?

  • 如果没有,那么为什么编译器继续大喊大叫?帮我们写好代码吗?
  • 如果可能,那么哪些类型的警告不应该被忽略?
  • 如果是,(记忆可能)那么它有多深?

2 个答案:

答案 0 :(得分:0)

  

如果没有,那么为什么编译器继续喊叫?帮我们写好代码吗?

绝对如此。大多数警告都是“最佳做法......没有实践”:) 为什么使用原始类型,如果Java现在提供泛型,例如?

您可能有理由忽视它们。然后许多IDE让您可以关闭这些警告。

答案 1 :(得分:0)

编译器警告几乎总是提醒您潜在的意外行为或不必要的代码。实际上,它们不会影响代码的运行时性能。编写非高性能代码(很多,很多更容易做)是一个更大的担忧。

就未使用的局部变量而言,某些编译器可能会对此进行优化,而不是为分配分配内存。然而,产生结果的陈述仍然需要执行,因为它们可能包括副作用。

有些方法可以关闭您认为对您的代码不重要的各种类型的编译器警告(例如,“应该声明serialVersionUID”警告是一种常见的警告,通常不是特别适用)。您可以使用每个类/方法/字段的@SuppressWarnings注释来执行此操作,或者您可以通过向其提供选项在编译器级别执行此操作。