http://www.javaconcurrencyinpractice.com/annotations/doc/
GuardedBy | The field or method to which this annotation is applied can only be accessed when holding a particular lock, which may be a built-in (synchronization) lock, or may be an explicit java.util.concurrent.Lock. |
Immutable | The class to which this annotation is applied is immutable. |
NotThreadSafe | The class to which this annotation is applied is not thread-safe. |
ThreadSafe | The class to which this annotation is applied is thread-safe. |
这些注解只有在生成java doc时使用,作用是
These annotations are relatively unintrusive and are beneficial to both users and maintainers. Users can see immediately whether a class is thread-safe, and maintainers can see immediately whether thread-safety guarantees must be preserved. Annotations are also useful to a third constituency: tools. Static code-analysis tools may be able to verify that the code complies with the contract indicated by the annotation, such as verifying that a class annotated with @Immutable
actually is immutable.