Java 编译器警告对Web应用程序性能有影响吗

Java 编译器警告对Web应用程序性能有影响吗,java,performance,jsp,web-applications,javac,Java,Performance,Jsp,Web Applications,Javac,作为一个懒惰的程序员,我通常忽略Jsp和Java代码中的编译器警告 我可以通过认为缺失的JavaScript、验证和其他内容可以在运行时得到解决来证明JSP警告的合理性。但需要确定的是 但是我总是被Java这样的警告戏弄 [泛型类型]是原始类型。对泛型类型[泛型类型]的引用应参数化 字段[字段名]从不在本地读取 还有更多 我的问题是 警告对性能有影响吗? 若并没有,那个么为什么编译器一直在大喊大叫?是在帮助我们编写好代码吗 如果可能,那么哪些类型的警告不应被忽略 如果是的,(记忆可能是)那

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

我可以通过认为缺失的JavaScript、验证和其他内容可以在运行时得到解决来证明JSP警告的合理性。但需要确定的是

但是我总是被Java这样的警告戏弄

  • [泛型类型]是原始类型。对泛型类型[泛型类型]的引用应参数化

  • 字段[字段名]从不在本地读取

还有更多

我的问题是

警告对性能有影响吗?

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

如果不是,那为什么还要继续叫喊?是在帮助我们编写好代码吗

当然是这样。这些警告大多是“最佳实践……未实践”: 例如,如果Java现在提供泛型,为什么要使用原始类型


你可能有理由忽视它们。然后,许多IDE为您提供了关闭这些警告的可能性。

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

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


有几种方法可以关闭您承认对代码不重要的各种类型的编译器警告(例如,“应该声明serialVersionUID”警告是一种常见的警告,通常并不特别适用)。您可以使用每个类/方法/字段的@SuppressWarnings注释来实现这一点,也可以通过提供选项在编译器级别实现一次。

“我可以通过认为缺少JavaScript、验证和其他内容可以在运行时解决来证明JSP警告的合理性。”JSP=JavaServer Pages。它们与JavaScript无关。JSP可能包含JavaScript,这反过来可能会在编译阶段生成错误或警告(例如,当JS未包含在XHTML页面上的CDATA标记中时,以及在使用符号时)。
字段[field NAME]从不在本地读取。
是Eclipse警告。不是编译器警告。“正在帮助我们编写好代码吗?”是的。如果忽略
[GENERIC Type],则为原始类型。对泛型类型[泛型类型]的引用应该参数化。
,您的应用程序可能会抛出错误,无法按预期工作。