1、HashMap和HashSet的区别
http://www.importnew.com/6931.html
2、HashMap和HashTable的区别
http://www.importnew.com/7010.html
3、JAVA中重写equals()方法为什么要重写hashcode()方法?
http://blog.csdn.net/methods2011/article/details/9814635
4、T extends E 和 ? super E 区别
http://lsq6063.iteye.com/blog/693751
<? extends E> 是 Upper Bound(上限) 的通配符
<? super E> 是 Lower Bound(下限) 的通配符
结论:使用了 <? extends E> 这样的通配符,test方法的参数list变成了只能get不能set(除了null) 或者不严谨的说它变成了只读参数了, 有些类似一个生产者,提供数据。
结论: 使用了<? super E> 这种通配符,test方法的参数list的get受到了很大的制约,只能最宽泛的方式来获取list中的数据,相当于get只提供了数据最小级别的访问权限(想想,你可能原本是放进去了一个Book,却只能当作Object来访问)。
它更多适合于set的使用场景,像是一个消费者,主要用来消费数据。
4、synchronizedmap vs concurrenthashmap
http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/
http://java.dzone.com/articles/java-7-hashmap-vs
http://www.ibm.com/developerworks/java/library/j-jtp08223/index.html
5、HashMap的工作原理