1、FindBugs介绍
FindBugs是一款Java静态代码分析工具,与其他静态分析工具(如Checkstyle和PMD)不同,FindBugs?不注重样式或者格式,它专注于寻找真正的缺陷或者潜在的性能问题,它可以帮助java工程师提高代码质量以及排除隐含的缺陷。有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。
最新版本是1.3.9.20090821,下载地址http://findbugs.sourceforge.net/downloads.html。
FindBugs运用Apache?BCEL?库分析类文件(class文件)而不是源代码,将字节码与一组缺陷模式进行对比以发现可能的问题。FindBugs的检测器已增至300多条,被分为不同的类型,常见的类型如下:
·?正确性(Correctness):这种归类下的问题在某种情况下会导致bug,比如错误的强制类型转换等。
·?最佳实践反例(Bad?practice):这种类别下的代码违反了公认的最佳实践标准,比如某个类实现了equals方法但未实现hashCode方法等。
·?多线程正确性(Multithreaded?correctness):关注于同步和多线程问题。
·?性能(Performance):潜在的性能问题。
·?安全(Security):安全相关。