java - SimpleDateFormat 的 Checkstyle/PMD 规则不是线程安全警告

标签 java checkstyle pmd

最近我遇到了很多错误,因为 SimpleDateFormat 不是线程安全的。

我发现的原因是它没有正确同步,或者没有为单独的线程创建新实例。

所以我想让我们创建一个 PMD/Checkstyle,这样将来如果有人使用 SimpleDateFormat 他会收到某种警告,表明它不是线程安全的。

我是 Checkstyle 新手,谁能告诉我如何实现这一目标?

最佳答案

当 DateFormat 定义为静态字段时,FindBugs 可以输出警告。但是检测 DateFormat 的非线程安全使用非常困难,因为它需要了解对象的使用方式。我认为为此编写 CheckStyle 规则是不可能的。至少在没有检测到大量误报的情况下是这样。

也许您应该禁止直接使用 DateFormat,并将其包装到自定义类中,或者强制使用线程安全的 Apache commons FastDateFormat。

关于java - SimpleDateFormat 的 Checkstyle/PMD 规则不是线程安全警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8892096/

相关文章:

java - Activemq 与 rabbitmq

java - 无法调用包含类 2 对象数组的类 1 的方法

gradle checkstyle错误:Expected file collection to contain exactly one file,但是,它包含14个文件

java - pmd:DataflowAnomalyAnalysis 会为增强型 for 循环生成误报吗?

java - 如何以编程方式在文件 *content* 上运行 Checkstyle、Findbugs 或 PMD

java - 在java中传递数组来获取平均中位数和众数

java - 按下菜单项时如何在 jFrame 中显示 jPanel

maven - jenkins maven 多模块作业中出现重复的 checkstyle 警告

java - 来自 PMD 的数据流异常分析警告