Synchronization
Primitive operations are atomic
- exception: assignments to long and double variables
synchronized(anyObject){ anyCode()} blocks
class-level static methods and blocks synchronization
synchronized qualifier can be overridden in subclasses