从性能角度来看的Java静态代码分析

4

我对从性能角度理解Java编码规则很感兴趣。而且,如果有人已经尝试过将这些规则放入静态代码分析器(如Sonar)进行静态代码检查,那就更好了。
请提出您的观点或任何建议。
谢谢,
Xhings


1
Google是开始解决这个问题的更好地方。如果您已经做了一些工作并在工作过程中遇到问题,社区可以帮助您。 - Santosh
2个回答

1

Findbug是Sonar中使用的Bug检测工具,它具有性能分类。您可以创建仅包含性能规则的ruleset。

SBSC:方法在循环中使用+连接字符串

附注:静态代码分析对于识别瓶颈的帮助有限。您需要使用真正的性能分析工具(如VisualVM、JProfiler或YourKit)来识别改进的区域。


0
性能是动态特征,因此在静态分析中很难发现它。关于性能你永远不知道。行业的普遍观察是“80%的CPU被20%的代码消耗”。很多时候甚至更加不平衡。而且几乎不可能事先预测这20%的位置。有时即使使用动态分析也很难找到它(由于缺乏接近实际生产场景的正确分析测试方案)。然而,Intel Amplifier XE在轻量级热点模式下可以(通常)对真实的生产部署进行分析。值得一试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接