title: Need simple explanation how "lock striping" works with ConcurrentHashMap
body: <p>According to Java Concurrency in Practice, chapter 11.4.3 says:</p>
  
  <blockquote>
    <p>Lock splitting can sometimes be extended to partition
    locking on a variablesized set of independent objects, in which case
    it is called lock striping. For example, the implementation of
    ConcurrentHashMap uses an array of 16 locks, each of which guards 1/16
    of the hash buckets; bucket N is guarded by lock N mod 16.</p>
  </blockquote>
  
  <p>I still have problems to understand and visualize the lock striping and buckets mechanism.
  Can someone explain this with good understanding words :)</p>
  
  <p>Thanks in advance.</p>