黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java線程池的面試題,讓面試更穩(wěn)妥

Java線程池的面試題,讓面試更穩(wěn)妥

更新時間:2020-03-04 12:30:06 來源:動力節(jié)點 瀏覽3417次


  1)什么是線程?


  線程是操作系統(tǒng)能夠進行運算調度的最小單位,它被包含在進程之中,是進程中的實際運作單位。程序員可以通過它進行多處理器編程,你可以使用多線程對運算密集型任務提速。比如,如果一個線程完成一個任務要100毫秒,那么用十個線程完成改任務只需10毫秒。Java在語言層面對多線程提供了卓越的支持,它也是一個很好的賣點。


  2)線程和進程有什么區(qū)別?


  線程是進程的子集,一個進程可以有很多線程,每條線程并行執(zhí)行不同的任務。不同的進程使用不同的內存空間,而所有的線程共享一片相同的內存空間。別把它和棧內存搞混,每個線程都擁有單獨的棧內存用來存儲本地數(shù)據(jù)。


  3)如何在Java中實現(xiàn)線程?


  在語言層面有兩種方式。java.lang.Thread類的實例就是一個線程但是它需要調用java.lang.Runnable接口來執(zhí)行,由于線程類本身就是調用的Runnable接口所以你可以繼承java.lang.Thread類或者直接調用Runnable接口來重寫run()方法實現(xiàn)線程。


  4)用Runnable還是Thread?


  這個問題是上題的后續(xù),大家都知道我們可以通過繼承Thread類或者調用Runnable接口來實現(xiàn)線程,問題是,那個方法更好呢?什么情況下使用它?這個問題很容易回答,如果你知道Java不支持類的多重繼承,但允許你調用多個接口。所以如果你要繼承其他類,當然是調用Runnable接口好了。


  6)Thread類中的start()和run()方法有什么區(qū)別?


  這個問題經常被問到,但還是能從此區(qū)分出面試者對Java線程模型的理解程度。start()方法被用來啟動新創(chuàng)建的線程,而且start()內部調用了run()方法,這和直接調用run()方法的效果不一樣。當你調用run()方法的時候,只會是在原來的線程中調用,沒有新的線程啟動,start()方法才會啟動新線程。


  7)Java中Runnable和Callable有什么不同?


  Runnable和Callable都代表那些要在不同的線程中執(zhí)行的任務。Runnable從JDK1.0開始就有了,Callable是在JDK1.5增加的。它們的主要區(qū)別是Callable的call()方法可以返回值和拋出異常,而Runnable的run()方法沒有這些功能。Callable可以返回裝載有計算結果的Future對象。


  8)Java中CyclicBarrier和CountDownLatch有什么不同?


  CyclicBarrier和CountDownLatch都可以用來讓一組線程等待其它線程。與CyclicBarrier不同的是,CountdownLatch不能重新使用。


  9)Java內存模型是什么?


  Java內存模型規(guī)定和指引Java程序在不同的內存架構、CPU和操作系統(tǒng)間有確定性地行為。它在多線程的情況下尤其重要。Java內存模型對一個線程所做的變動能被其它線程可見提供了保證,它們之間是先行發(fā)生關系。這個關系定義了一些規(guī)則讓程序員在并發(fā)編程時思路更清晰。比如,先行發(fā)生關系確保了:


  線程內的代碼能夠按先后順序執(zhí)行,這被稱為程序次序規(guī)則。


  對于同一個鎖,一個解鎖操作一定要發(fā)生在時間上后發(fā)生的另一個鎖定操作之前,也叫做管程鎖定規(guī)則。


  前一個對volatile的寫操作在后一個volatile的讀操作之前,也叫volatile變量規(guī)則。


  一個線程內的任何操作必需在這個線程的start()調用之后,也叫作線程啟動規(guī)則。


  一個線程的所有操作都會在線程終止之前,線程終止規(guī)則。


  一個對象的終結操作必需在這個對象構造完成之后,也叫對象終結規(guī)則。


  可傳遞性


  我強烈建議大家閱讀《Java并發(fā)編程實踐》第十六章來加深對Java內存模型的理解。


  10)Java中的volatile變量是什么?


  volatile是一個特殊的修飾符,只有成員變量才能使用它。在Java并發(fā)程序缺少同步類的情況下,多線程對成員變量的操作對其它線程是透明的。volatile變量可以保證下一個讀取操作會在前一個寫操作之后發(fā)生,就是上一題的volatile變量規(guī)則。


Java線程池的面試題,讓面試更穩(wěn)妥


      以上就是動力節(jié)點Java培訓機構小編介紹的“Java線程池的面試題,讓面試更穩(wěn)妥”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 欧美日韩一区二区在线视频播放 | 成人小视频网 | 国产一国产一有一级毛片 | 日本操操操| 国产你懂的在线观看 | 欧美无遮挡国产欧美另类 | 99在线观看视频免费精品9 | 国产乡下三片在线观看64 | 中文字幕在线播放 | 国产一级αv片免费观看 | 黑人与中国女一级毛片不卡 | 久久婷婷是五月综合色狠狠 | 91在线精品麻豆欧美在线 | 最近免费字幕高清在线观看 | 久久久久久网 | www日韩在线 | 男女午夜爽爽大片免费 | 国产精品久久久久久久久久直 | 激情综合五月网 | 首页 国产 制服 丝袜 | 日本在线一区 | 99热色| 天堂色视频| 国产欧美精品区一区二区三区 | 国产一区二区三区日韩 | 免费人成在线观看视频播放 | 国产最猛性xxxxxx69交 | 欧美日本日韩 | 色综合一区 | 一级片手机在线观看 | 在线观看深夜视频 | 欧美一级欧美三级在线 | 成年美女黄网站色大免费观看软件 | 国产免费怡红院视频 | 亚洲高清国产一区二区三区 | 殴美黄色片 | 国内精品免费久久久久妲己 | 成人污污视频 | 一女多男高h | 欧美福利| 黄色a∨|