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