リリース ノートから、checkstyle は Double-Checked ロック チェックを削除しました。
なぜか理解に苦しむ。彼らは、リリース ノートだけでなく、イシュー トラッカーでも次のように回答しています。
Java 5 (およびそれ以降) と同様に DoubleCheckedLocking チェックを削除し、volatile キーワードを使用して問題に対処しました。
checkstyle がこの警告を削除している場合、それはもはや役に立たないためだと思います。つまり、エラーが発生しなくなるか、別の警告が機能します。しかし
なぜこのようなエラーが Java 5 で発生しなくなったのか、別の警告によってどのように補完されるのかわかりません。誰か説明してくれませんか?
編集: volatile キーワードを追加すると問題が解決することを理解しています。私の懸念は次のとおりです。この警告はまだ何らかの形で価値があるのではないですか? プログラマーが前述のロック パターンを使用しているが、変数 volatile を宣言するのを忘れている場合について考えています。checkstyle はまだそれについて警告すべきではありませんか?