Inspectopedia Help

Static initializer references subclass

Reports classes that refer to their subclasses in static initializers or static fields.

Such references can cause JVM-level deadlocks in multithreaded environment, when one thread tries to load the superclass and another thread tries to load the subclass at the same time.

Example:

class Parent { static final Child field = new Child(); } class Child extends Parent { }

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023