HashTable源码剖析

172 阅读1分钟
  • 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化
  • 初始size为11,扩容:newCapacity = (oldCapacity << 1) + 1
  • 计算index的方法:index = (hash & 0x7FFFFFFF) % tab.length