JDK1.8之前版本:分段加锁 会将HashMap数组分成小数组,每个小数组对应于一个锁; 即 线程1更新了数组1[5],而线程2更新了数组2[20],是可以同步更新的。 JDK1.8进行了优化:减少锁的粒度 还是一个数组,对数组中每个元素进行加锁,采取的是CAS策略。