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