Java / Concurrent collections
Is final field initialized in constructor thread-safe?
Yes. Presence of final guarantees that other threads would see values in the map after constructor finished without any external synchronization. Without final it cannot be guaranteed in all the case.
final and volatile fields will be guaranteed to be fully initialized by the time the constructor finishes but not other "normal" fields.
More Related questions...