1. Stateless object is always thread safe.
2. To preserve state consistency, update related state variables in a single atomic operation.
3. A synchronized method is shorthand for a synchronized block that spans an entiremethod body, and whose lock is the object on which the method is being invoked.
4. Static synchronized methods use the Classobject for the lock.
5. For each mutable state variable that may be accessed by more than one thread, all accesses to that variable must be performed with the same lock held. In this case, we say that the variable is guarded by that lock.