Inspectopedia Help

Synchronization on 'getClass()'

Reports synchronization on a call to getClass().

If the class containing the synchronization is subclassed, the subclass will synchronize on a different class object. Usually the call to getClass() can be replaced with a class literal expression, for example String.class. An even better solution is synchronizing on a private static final lock object, access to which can be completely controlled.

Example:

synchronized(getClass()) {}

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023