Java經(jīng)典面試題總結(jié)(九)

好久沒(méi)有來(lái)更新我的面試題了,不知道關(guān)注我的小伙伴有沒(méi)有失聯(lián)啊?!呼叫!

好了開始我們今天的正題分享!

1、如何從FutureTask不阻塞獲取結(jié)果

get(long timeout,TimeUnit unit),超時(shí)則返回

輪詢,先通過(guò)isDone()判斷是否結(jié)束,然后調(diào)用get()

2、 blockingqueue如果存放了比較關(guān)鍵的數(shù)據(jù),系統(tǒng)宕機(jī)該如何處理

其實(shí)這個(gè)是一個(gè)開放性問(wèn)題,不同的人會(huì)給出不同的答案,大家可以自行發(fā)揮,也可以討論一下更好的答案。

將隊(duì)列持久化,比較麻煩,需要將生產(chǎn)數(shù)據(jù)持久化到磁盤,持久化成功才返回,消費(fèi)者線程從磁盤加載數(shù)據(jù)到內(nèi)存阻塞隊(duì)列中,維護(hù)消費(fèi)offset,啟動(dòng)時(shí),根據(jù)消費(fèi)offset從磁盤加載數(shù)據(jù)

加入消息隊(duì)列,保證消息不丟失,生成序列號(hào),消費(fèi)冪等,根據(jù)消費(fèi)進(jìn)程決定系統(tǒng)重啟后的生產(chǎn)狀態(tài)

3、簡(jiǎn)單介紹下springMVC和struts2的區(qū)別有哪些?1) springmvc的入口是一個(gè)servlet即前端控制器,而struts2入口是一個(gè)filter過(guò)慮器。2)springmvc是基于方法開發(fā)(一個(gè)url對(duì)應(yīng)一個(gè)方法),請(qǐng)求參數(shù)傳遞到方法的形參,可以設(shè)計(jì)為單例或多例(建議單例),struts2是基于類開發(fā),傳遞參數(shù)是通過(guò)類的屬性,只能設(shè)計(jì)為多例。3)Struts采用值棧存儲(chǔ)請(qǐng)求和響應(yīng)的數(shù)據(jù),通過(guò)OGNL存取數(shù)據(jù), springmvc通過(guò)參數(shù)解析器是將request請(qǐng)求內(nèi)容解析,并給方法形參賦值,將數(shù)據(jù)和視圖封裝成ModelAndView對(duì)象,最后又將ModelAndView中的模型數(shù)據(jù)通過(guò)reques域傳輸?shù)巾?yè)面。Jsp視圖解析器默認(rèn)使用jstl。

4、 NIO與傳統(tǒng)I/O的區(qū)別

1)節(jié)約線程,NIO由原來(lái)的每個(gè)線程都需要阻塞讀寫變成了由單線程(即Selector)負(fù)責(zé)處理多個(gè)channel注冊(cè)(register)的興趣事件(SelectionKey)集合(底層借助操作系統(tǒng)提供的epoll()),netty bossgroup處理accept連接(沒(méi)看明白為什么bossgroup設(shè)置多個(gè)thread的必要性),workergroup處理具體業(yè)務(wù)流程和數(shù)據(jù)讀寫

2)NIO提供非阻塞操作

3)傳統(tǒng)I/O 以流的方式處理數(shù)據(jù),而 NIO 以塊的方式處理數(shù)據(jù),NIO提供bytebuffer,分為堆內(nèi)和堆外緩沖區(qū),讀寫時(shí)均先放到該緩沖區(qū)中,然后由內(nèi)核通過(guò)channel傳輸?shù)綄?duì)端,堆外緩沖區(qū)不走內(nèi)核,提升了性能

5、list中存放可重復(fù)字符串,如何刪除某個(gè)字符串

1)調(diào)用iterator相關(guān)方法刪除

2)倒刪,防止正序刪除導(dǎo)致的數(shù)組重排,index跳過(guò)數(shù)組元素問(wèn)題

未完待續(xù)~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容