SYNCH.NESTED
When a synchronized method calls other synchronized methods on same object, it does not create synchronization problems but it does have a detrimental effect on performance. This error is reported for non-static methods.
Example 1
12 public class MyClass { 13 public synchronized List getElements() { 14 return internalGetElements(); 15 } 16 synchronized List internalGetElements() { 17 List list = new ArrayList(); 18 // calculate and return list of elements 19 return list; 20 } 21 // ... 22 }
SYNCH.NESTED is reported for line 14: Synchronized method calls another synchronized method 'internalGetElements' with the same lock held