Inspectopedia Help

Instance member guarded by static field

Reports @GuardedBy annotations on instance fields or methods in which the guard is a static field. Guarding a non-static by a static may result in excessive lock contention, as access to each locked field in any object instance will prevent simultaneous access to that field in every object instance.

Example:

private static ReadWriteLock lock = new ReentrantReadWriteLock(); //static guarding field private Object state; @GuardedBy("lock") public void bar() { state = new Object(); }

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

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Java, 241.16690

Last modified: 29 April 2024