Ответ 1
FindBugs поддерживает эти аннотации. Поддержка этих аннотаций и других описана в этой странице документации.
Недавно прочитал аннотации JCIP, и они кажутся классными. Пошел на сайт и посмотрел на источник. Единственная проблема заключается в том, что в src jar просто содержатся аннотации... Я не вижу, где я могу найти обработчики аннотаций, которые на самом деле ничего не делают! Я просто смотрю не в том месте, или это не настоящие аннотации Java (что означает, нет ли способа принудительного применения @Immutable
, когда он используется для обозначения класса)?
@Immutable
@GuardedBy
FindBugs поддерживает эти аннотации. Поддержка этих аннотаций и других описана в этой странице документации.
IntelliJ IDE будет использовать эти аннотации, чтобы искать ошибки в вашем коде. Если вы аннотируете переменную @GuardedBy (some_lock), среда IDE будет отмечать случаи, когда вы обращаетесь к ней без надлежащей синхронизации на ней. Это очень полезно.
Аннотации JCIP являются формальным способом документировать контракт concurrency, такой как этот член, это "@GuardedBy" это поле.
Они не выполняют ничего функционального в вашем коде.