title: How can multiple threads corrupt internal structure of Hashmap
body: <p>In <code>Java 8 for the Really Impatient</code> Horstmann writes:</p>
  
  <blockquote>
    <p>If multiple threads modify a plain HashMap, they can destroy the
    internal structure. Some of the links may go missing, or even go in
    circles, rendering the data structure unusable. (<strong>Section 6.2.1</strong>)</p>
  </blockquote>
  
  <p>I can understand that unsynchronized concurrent access can corrupt my data. If both two threads update same value one can overwrite the other.</p>
  
  <p>But why and how would it corrupt the internal memory structure?</p>