1、HashMap的存储结构?
2、HashMap是线程安全的吗?
3、HashMap为什么线程不安全?
4、HashMap是如何解决hash冲突的
5、为什么要进行高16位和低16位的异或
6、异或完为什么进行 & 操作(array.length - 1)操作
7、初始化大小是多少?
8、什么时候会进行扩容?
9、每次扩容扩多大
10、线程安全的Map有哪些?
11、如何实现线程安全的?
12、synchorized和cas的区别是?
13、什么时候需要重写HashCode方法?