First, the easy cases where you basically don't need volatile or any other synchronization mechanism:

1. volatile is not necessary– or in fact possible– for fields that are immutable.
2....