...
Any operations within the synchronized methods are now atomic with respect to other synchronized methods that lock on that object's monitor (intrinsic lock). It is now possible, for example, to add overflow checking within to the synchronized getSum()
method without introducing the possibility of a race condition.
...