最近、JCIP の注釈を読みましたが、それらはクールに思えます。Web サイトにアクセスして、ソースを確認しました。唯一の問題は、src jar に注釈だけが含まれていることです...実際に何かを行う注釈プロセッサがどこにあるかわかりません! 間違った場所を見ているだけですか、それとも実際の Java アノテーションではないのでしょうか (つまり、@Immutable
クラスをマークするために使用されるときに強制する方法はありません)。
@Immutable
@GuardedBy
最近、JCIP の注釈を読みましたが、それらはクールに思えます。Web サイトにアクセスして、ソースを確認しました。唯一の問題は、src jar に注釈だけが含まれていることです...実際に何かを行う注釈プロセッサがどこにあるかわかりません! 間違った場所を見ているだけですか、それとも実際の Java アノテーションではないのでしょうか (つまり、@Immutable
クラスをマークするために使用されるときに強制する方法はありません)。
@Immutable
@GuardedBy
FindBugsはこれらの注釈をサポートしています。これらの注釈やその他のサポートについては、このドキュメンテーション ページで説明されています。
IntelliJ IDE は、これらの注釈を使用してコード内のバグを探します。変数に @GuardedBy(some_lock) という注釈を付けると、IDE は、適切に同期せずに変数にアクセスした場合にフラグを立てます。これは非常に便利です。
JCIP アノテーションは、このメンバーが "@GuardedBy" このフィールドであるなどの同時実行契約を文書化するための正式な方法です。
コード内で機能的には何もしません。