title: Java Concurrent Collections and visiblity
body: <p>I'm getting a little unsure about what to expect from Concurrent Collections (e.g. ConcurrentMap) regarding visibility of the data in the collection.</p>
  
  <p>A: Thread1 puts a complex object and Thread2 gets it. Will all attributes be visible in Thread2?</p>
  
  <p>B: Thread1 puts a complex object and later changes some attributes. Then Thread2 gets it, will all changes be visible in Thread2?</p>
  
  <p>I guess B is false, and if so I should synchronize every access on the complex object?</p>