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