更新時(shí)間:2020-01-07 14:42:40 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2798次
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è)開(kāi)放性問(wèn)題,不同的人會(huì)給出不同的答案,大家可以自行發(fā)揮,也可以討論一下更好的答案。
將隊(duì)列持久化,比較麻煩,需要將生產(chǎn)數(shù)據(jù)持久化到磁盤(pán),持久化成功才返回,消費(fèi)者線程從磁盤(pán)加載數(shù)據(jù)到內(nèi)存阻塞隊(duì)列中,維護(hù)消費(fèi)offset,啟動(dòng)時(shí),根據(jù)消費(fèi)offset從磁盤(pán)加載數(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是基于方法開(kāi)發(fā)(一個(gè)url對(duì)應(yīng)一個(gè)方法),請(qǐng)求參數(shù)傳遞到方法的形參,可以設(shè)計(jì)為單例或多例(建議單例),struts2是基于類(lèi)開(kāi)發(fā),傳遞參數(shù)是通過(guò)類(lèi)的屬性,只能設(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è)線程都需要阻塞讀寫(xiě)變成了由單線程(即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ù)讀寫(xiě)
2)NIO提供非阻塞操作
3)傳統(tǒng)I/O 以流的方式處理數(shù)據(jù),而 NIO 以塊的方式處理數(shù)據(jù),NIO提供bytebuffer,分為堆內(nèi)和堆外緩沖區(qū),讀寫(xiě)時(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)題
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年Java初級(jí)開(kāi)發(fā)面試題”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743