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

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