最近我遇到了很多错误,因为SimpleDateFormat
不是线程安全的。
我发现原因是它没有正确同步,或者没有为单独的线程创建新实例。
所以我想我们创建一个PMD / Checkstyle,以便将来如果有人使用SimpleDateFormat
,他会得到一些关于它不是线程安全的警告。
我是Checkstyle的新手,任何人都可以形容我如何实现这一目标?
答案 0 :(得分:3)
当DateFormat被定义为静态字段时,FindBugs可以输出警告。但是检测DateFormat的非线程安全使用非常困难,因为它需要了解对象的使用方式。我不认为为此编写CheckStyle规则是可能的。至少没有发现大量的误报。
也许您应该禁止直接使用DateFormat,并将其包装到自定义类中,或者强制使用Apache commons FastDateFormat,这是线程安全的。