大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 常見的中級java工程師面試題

常見的中級java工程師面試題

更新時間:2020-08-25 15:43:32 來源:動力節(jié)點 瀏覽2770次

1.如何在兩個線程間共享數(shù)據(jù)

通過在線程之間共享對象就可以了,然后通過wait/notify/notifyAll、await/signal/signalAll進(jìn)行喚起和等待,比方說阻塞隊列BlockingQueue就是為線程之間共享數(shù)據(jù)而設(shè)計的

2.如果你提交任務(wù)時,線程池隊列已滿,這時會發(fā)生什么

如果你使用的LinkedBlockingQueue,也就是無界隊列的話,沒關(guān)系,繼續(xù)添加任務(wù)到阻塞隊列中等待執(zhí)行,因為LinkedBlockingQueue可以近乎認(rèn)為是一個無窮大的隊列,可以無限存放任務(wù);

如果你使用的是有界隊列比方說ArrayBlockingQueue的話,任務(wù)首先會被添加到ArrayBlockingQueue中,ArrayBlockingQueue滿了,則會使用拒絕策略RejectedExecutionHandler處理滿了的任務(wù),默認(rèn)是AbortPolicy。

3.為什么要使用Java線程池

避免頻繁地創(chuàng)建和銷毀線程,達(dá)到線程對象的重用。另外,使用線程池還可以根據(jù)項目靈活地控制并發(fā)的數(shù)目。

4.Thread.sleep(0)的作用是什么

由于Java采用搶占式的線程調(diào)度算法,因此可能會出現(xiàn)某條線程常常獲取到CPU控制權(quán)的情況,為了讓某些優(yōu)先級比較低的線程也能獲取到CPU控制權(quán),可以使用Thread.sleep(0)手動觸發(fā)一次操作系統(tǒng)分配時間片的操作,這也是平衡CPU控制權(quán)的一種操作。

5.為什么wait,nofity和nofityAll這些方法不放在Thread類當(dāng)中

一個很明顯的原因是JAVA提供的鎖是對象級的而不是線程級的,每個對象都有鎖,通過線程獲得。如果線程需要等待某些鎖那么調(diào)用對象中的wait()方法就有意義了。如果wait()方法定義在Thread類中,線程正在等待的是哪個鎖就不明顯了。

簡單的說,由于wait,notify和notifyAll都是鎖級別的操作,所以把他們定義在Object類中因為鎖屬于對象。

6.怎么喚醒一個阻塞的線程

如果線程是因為調(diào)用了wait()、sleep()或者join()方法而導(dǎo)致的阻塞,可以中斷線程,并且通過拋出InterruptedException來喚醒它;如果線程遇到了IO阻塞,無能為力,因為IO是操作系統(tǒng)實現(xiàn)的,Java代碼并沒有辦法直接接觸到操作系統(tǒng)。

7.什么是多線程的上下文切換

多線程的上下文切換是指CPU控制權(quán)由一個已經(jīng)正在運行的線程切換到另外一個就緒并等待獲取CPU執(zhí)行權(quán)的線程的過程。

8.一個線程如果出現(xiàn)了運行時異常怎么辦?

如果這個異常沒有被捕獲的話,這個線程就停止執(zhí)行了。另外重要的一點是:如果這個線程持有某個某個對象的監(jiān)視器,那么這個對象監(jiān)視器會被立即釋放

9.什么是線程局部變量ThreadLocal

線程局部變量是局限于線程內(nèi)部的變量,屬于線程自身所有,不在多個線程間共享。Java提供ThreadLocal類來支持線程局部變量,是一種實現(xiàn)線程安全的方式。

但是在管理環(huán)境下(如web服務(wù)器)使用線程局部變量的時候要特別小心,在這種情況下,工作線程的生命周期比任何應(yīng)用變量的生命周期都要長。任何線程局部變量一旦在工作完成后沒有釋放,Java應(yīng)用就存在內(nèi)存泄露的風(fēng)險。

10.FutureTask是什么

FutureTask表示一個異步運算的任務(wù)。FutureTask里面可以傳入一個Callable的具體實現(xiàn)類,可以對這個異步運算的任務(wù)的結(jié)果進(jìn)行等待獲取、判斷是否已經(jīng)完成、取消任務(wù)等操作。

當(dāng)然,由于FutureTask也是Runnable接口的實現(xiàn)類,所以FutureTask也可以放入線程池中。

中級java工程師面試題

以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“常見的中級java工程師面試題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 综合国产| 欧美一级毛片免费高清的 | 在线播放国产精品 | 欧美猛操| 一级毛片一级毛片免费毛片 | 99日精品欧美国产 | 奇米777在线观看 | 一级毛片免费在线观看网站 | 亚洲欧美日韩精品久久久 | 午夜视频免费国产在线 | 久草视频在线播放 | 久久久久久久久免费视频 | 全免费午夜一级毛片一级毛 | 四虎4444hu4影视最新地址 | 奇米影视777第四色 奇米影视777狠狠狠888不卡 | 性xxx欧美 | 99亚洲视频 | 亚洲欧美日韩综合一区久久 | 成人久久18免费网 | 国产日韩一区二区三区在线播放 | 欧美成人极品怡红院tv | 亚洲天堂777| 国产亚洲漂亮白嫩美女在线 | 日日夜夜免费视频 | 牛牛影视在线 | 毛片在线播放a | 大杳焦伊人久久综合热 | 亚洲国产视频在线 | 国产福利视频一区二区三区四区 | 九七影院97影院理论片 | 欧美激情午夜 | 亚洲国产精品一区二区首页 | 久久精品久久精品 | 一级女性全黄生活片看看 | 国产一区二区精品久久岳 | 国产成人毛片亚洲精品不卡 | 日本爱爱网 | 天天干天天干 | 四虎ww| 99国内精品| 久久精品国产精品青草图片 |