天天看點

Java面試的一些Tips網上資料個人收藏

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的工作原理

http://blog.csdn.net/wzhg0508/article/details/16861683