Back to Intellij Community

StaticGuardedByInstance

java/java-impl/resources/inspectionDescriptions/StaticGuardedByInstance.html

2025.3-rc-2781 B
Original Source

Reports @GuardedBy annotations on static fields or methods in which the guard is either a non-static field or this.

Guarding a static element with a non-static element may result in excessive concurrency, multiple threads may be able to access the guarded field simultaneously by locking in different object contexts.

Example:

private ReadWriteLock lock = new ReentrantReadWriteLock();

    @GuardedBy("lock")
    public static void bar() {
        // ...
    }

Supported @GuardedBy annotations are:

  • net.jcip.annotations.GuardedBy
  • javax.annotation.concurrent.GuardedBy
  • org.apache.http.annotation.GuardedBy
  • com.android.annotations.concurrency.GuardedBy
  • androidx.annotation.GuardedBy
  • com.google.errorprone.annotations.concurrent.GuardedBy