面試積累

一、ArrayList與HashSet,Set的底層html

HashSet底層是經過HashMap實現的 java

【HashSet】   mysql

        1. HashSet存儲不可以存儲相同的元素,元素是否相同的判斷:重寫元素的equals方法。equals方法和hashCode方法必須兼容,如:equals方法判斷的是用戶的名字name,那麼hashCode的返回的hashcode必須是name。hashcode();linux

        2. HashSet存儲是無序的,保存的順序與添加的順序是不一致的,它不是線性結構,而是散列結構,(經過散列表:散列單元指向鏈表)。所以,HashSet的查詢效率相對比較高。redis

        3. HashSet不是線程安全的,不是線程同步的。這須要本身實現線程同步:Collections.synchronizedCollection(),方法實現。算法

【ArrayList】spring

         1.  不是線程安全的,不是線程同步的。sql

         2.ArrayList是經過可變大小的數組實現的,容許null在內的全部元素。數據庫

         3.ArrayList中存放順序和添加順序是一致的。而且可重複元素。數組

         4.ArrayList適合經過位子來讀取元素。

 

TreeMap與TreeSet

http://blog.csdn.net/speedme/article/details/22661671

TreeMap 和 TreeSet 是 Java Collection Framework 的兩個重要成員,其中 TreeMap 是 Map 接口的經常使用實現類,而 TreeSet 是 Set 接口的經常使用實現類。雖然 TreeMap 和 TreeSet 實現的接口規範不一樣,但 TreeSet 底層是經過 TreeMap 來實現的(如同HashSet底層是是經過HashMap來實現的同樣),所以兩者的實現方式徹底同樣。而 TreeMap 的實現就是紅黑樹算法。

二、查找某個線程的load

http://blog.csdn.net/yaowj2/article/details/11764343

http://www.iteye.com/topic/1132321

http://www.cnblogs.com/chengJAVA/p/5821218.html

jvm調優工具 http://my.oschina.net/xionghui/blog/491741

 

三、內存溢出

http://www.cnblogs.com/lin-xuan/p/5271354.html

http://www.360doc.com/content/15/0228/14/16070877_451488021.shtml

最佳解釋 http://blog.csdn.net/shimiso/article/details/21830871 

 

四、jvm調優

 

五、rpc,thrift好處,rmi

 

六、redis特性,redis集羣 zookeeper

 

七、數據庫查詢 explain

 http://blog.csdn.net/zhuxineli/article/details/14455029

 

八、linux sort指令

http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html 

九、gc cms

 

spring ioc aop controller是否是線程安全

thrift 原理 優點 序列化協議

http head裏面有啥 狀態碼 400 500區別  tcp狀態 爲何是三次握手 四次揮手 

mysql優化 

hashmap 裏面結構 怎麼查找 怎麼擴容 怎麼均勻分佈 加元素是鏈表頭仍是鏈表尾 hashtable的區別 concurrenthashmap 鎖是怎麼實現的

ArrayList與TreeSet區別 TreeSet底層實現

concurrent包 計數器 AtomicInteger 實現原理  包下的內容

redis集羣 分佈式加鎖 

事務 隔離級別 spring 事務 傳播性 

方法調用方法 有什麼問題 棧溢出 內存溢出 

jvm gc cms 還有哪些 jvm優化參數 類加載器

nio 

方法模式 java類中的應用

排序

aop cglib

相關文章
相關標籤/搜索