Inspectopedia
 
2024.3

Synchronization on 'getClass()'

Warning
New
Last modified: 03 December 2024

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: