我有兴趣从性能的角度理解重要的 Java 编码规则。此外,如果有人已经尝试将这些规则放入像 Sonar 这样的静态代码分析器中进行静态代码检查。
请提出您的意见或任何建议。
问候,
Xhings
问问题
2360 次
2 回答
1
Findbug是 Sonar 中使用的错误检测工具。它具有性能类别。您可以创建仅包含性能的规则集。例如
SBSC:方法在循环中使用 + 连接字符串
旁注:静态代码分析对识别瓶颈的帮助有限。您将不得不使用真正的性能分析工具(如 VisualVM、JProfiler 或 YourKit)来确定需要改进的领域。
于 2013-10-07T11:44:25.160 回答
0
性能是动态特性,在静态分析中很难发现。你永远不知道性能。业界普遍的观察是“80% 的 CPU 被 20% 的代码消耗”。很多时候,它甚至比这更不平衡。而要提前预测这20%点的位置几乎是不可能的。有时使用动态分析甚至很难找到它(由于缺乏正确的分析测试场景,这些场景接近真实的生产场景)。但是,轻量级热点模式下的 Intel Amplifier XE(通常)可以分析实际生产部署。值得尝试。
于 2013-10-07T22:22:00.243 回答