我相信很多人后很多人都面臨著跳槽找工作之路,我也不例外。下面我就一起和大家一起看下java面試的時候會問到的問題。
談談你在工作中用到的java集合以及他們的應用
大家在工作中大多數就是存儲對象ArrayList, 有時候封裝參數的時候就是HashMap(尤其是在對象第三方接口的時候,存儲傳遞的參數),存儲沒有重復的對象用HashSet(比如你要統計那些人下了訂單, 這時候從數據查詢出來的可能就會出現,一個人下多次訂單的。這時候就需要用Set結合),先進后出用Stock(一般用到算法里面),排隊用Queue(這個可能就會經常用了,在高并發的時候,存儲對象),排序用Collections(java集合排序吧)等。
你用過java.util.concurrent里面的哪些類以及應用
ReentrantLock : 這個是鎖,它有重要的2個方法。lock和unlock,在多線程環境下可以起到控制。 ArrayBlockQueue: 阻塞隊列,在生產者-消費者環境中用到。 Executor: 線程池,它可以控制啟動多個線程。 java.util.concurrent.atomic包下面: 各數據類型原子性操作。
Set是如何實現插入的不重復的key值的
hashCode()和equals的重載,保證每個key對象的唯一性。
哪些集合是線程完全的, 哪些集合又不是線程安全的
線程安全 vectorhashtablestockenumeration非線程安全: 集合中不包含在線程安全之內的。
HashMap的工作原理是什么
采用數組 + 鏈表的形式實現。
各個相似框架的區別
新聞熱點
疑難解答