Package hudson

Annotation Type CopyOnWrite

  • @Retention(SOURCE)
    public @interface CopyOnWrite
    Represents fields that are protected for concurrency by the copy-on-write semantics.

    Fields marked by this annotation always holds on to an immutable collection. A change to the collection must be done by first creating a new collection object, making changes, then replacing the reference atomically.

    This allows code to access the field without synchronization, and greatly reduces the risk of dead-lock bugs.

    The field marked with this annotation usually needs to be marked as volatile.

    Kohsuke Kawaguchi