好程式設計師Java教程分享Java多執行緒常見面試題
好程式設計師Java 教程分享Java 多執行緒 常見面試題,Java 多執行緒相關面試題可以說是不可避免的,所以今天好程式設計師將為大家分享一些。
一、 現在有T1 、 T2 、 T3 三個執行緒,你怎樣保證 T2 在 T1 執行完後執行, T3 在 T2 執行完後執行 ?
這個執行緒問題通常會在第一輪或電話面試階段被問到,目的是檢測你對” join ”方法是否熟悉。這個多執行緒問題比較簡單,可以用 join 方法實現。
二、 在Java 中 Lock 介面比 synchronized 塊的優勢是什麼 ?
你需要實現一個高效的快取,它允許多個使用者讀,但只允許一個使用者寫,以此來保持它的完整性,你會怎樣去實現它?
lock 介面在多執行緒和併發程式設計中大的優勢是它們為讀和寫分別提供了鎖,它能滿足你寫像 ConcurrentHashMap 這樣的高效能資料結構和有條件的阻塞。 Java 執行緒面試的問題越來越會根據面試者的回答來提問。我強烈建議在你去參加多執行緒的面試之前認真讀一下 Locks ,因為當前其大量用於構建電子交易終統的客戶端快取和交易連線空間。
三、 在java 中 wait 和 sleep 方法的不同 ?
通常會在電話面試中經常被問到的Java 執行緒面試問題。大的不同是在等待時 wait 會釋放鎖,而 sleep 一直持有鎖。 Wait 通常被用於執行緒間互動, sleep 通常被用於暫停執行。
四、 用Java 實現阻塞佇列。
這是一個相對艱難的多執行緒面試問題,它能達到很多的目的。第一,它可以檢測侯選者是否能實際的用Java 執行緒寫程式 ; 第二,可以檢測侯選者對併發場景的理解,並且你可以根據這個問很多問題。如果他用 wait 和 notify 方法來實現阻塞佇列,你可以要求他用新的 Java5 中的併發類來再寫一次。
五、Java 中的 volatile 關鍵是什麼作用 ? 怎樣使用它 ? 在 Java 中它跟 synchronized 方法有什麼不同 ?
自從Java5 和 Java 記憶體模型改變以後,基於 volatile 關鍵字的執行緒問題越來越流行。應該準備好回答關於 volatile 變數怎樣在併發環境中確保可見性。
六、 在Java 中 CycliBarriar 和 CountdownLatch 有什麼區別 ?
這個執行緒問題主要用來檢測你是否熟悉JDK5 中的併發包。這兩個的區別是 CyclicBarrier 可以重複使用已經透過的障礙,而 CountdownLatch 不能重複使用。
七、 你將如何使用threaddump? 你將如何分析 Threaddump?
在UNIX 中你可以使用 kill-3 ,然後 threaddump 將會列印日誌,在 windows 中你可以使用” CTRL+Break ”。非常簡單和專業的執行緒面試問題,但是如果他問你怎樣分析它,就會很棘手。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2663527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 好程式設計師Java培訓分享Java多執行緒常見面試問題程式設計師Java執行緒面試
- 好程式設計師Java教程分享:Java工程師常見面試題程式設計師Java工程師面試題
- 好程式設計師Java教程分享XML常見面試題程式設計師JavaXML面試題
- 好程式設計師Java教程分享JavaScript常見面試題一程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題五程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題四程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題三程式設計師JavaScript面試題
- 好程式設計師Java教程分享JavaScript常見面試題二程式設計師JavaScript面試題
- 好程式設計師Java教程分享Java面試常見技術難題程式設計師Java面試
- 好程式設計師分享:Java面試題常見問題程式設計師Java面試題
- 好程式設計師Java培訓分享Java多執行緒程式設計師Java執行緒
- 好程式設計師Java教程分享Java面試題之Hibernate程式設計師Java面試題
- 好程式設計師Java教程分享Java面試妙招程式設計師Java面試
- 好程式設計師Java培訓分享Java多執行緒併發程式設計師Java執行緒
- 好程式設計師Java學習路線分享Spring常見面試題程式設計師JavaSpring面試題
- 好程式設計師Python教程分享常見的Python面試題程式設計師Python面試題
- 好程式設計師Python教程分享Python常見面試問題程式設計師Python面試
- 好程式設計師web前端教程分享Jquery常見面試題程式設計師Web前端jQuery面試題
- 好程式設計師Java教程分享經典Java main方法面試題程式設計師JavaAI面試題
- 好程式設計師分享Java常見面試題Tomcat最佳化經驗程式設計師Java面試題Tomcat
- 好程式設計師Java教程分享jsp相關面試題程式設計師JavaJS面試題
- Java程式設計師面試常見問題Java程式設計師面試
- 好程式設計師web前端分享常見面試題程式設計師Web前端面試題
- 好程式設計師Java學習路線分享多執行緒概念程式設計師Java執行緒
- 好程式設計師web前端教程分享HTML/CSS部分常見面試題程式設計師Web前端HTMLCSS面試題
- 【面經】多執行緒常見面試題執行緒面試題
- 好程式設計師Java分享Javamain十個面試題程式設計師JavaAI面試題
- 好程式設計師Java教程分享Java中經常出現的問題程式設計師Java
- 好程式設計師Java教程分享Java實習生面試題集錦程式設計師Java面試題
- 好程式設計師Java教程分享面試中Spring的技術問題程式設計師Java面試Spring
- 好程式設計師Java培訓分享Java面試題集合篇一程式設計師Java面試題
- 好程式設計師Java培訓分享Java面試題集合篇二程式設計師Java面試題
- 好程式設計師Java培訓分享Java中級面試題合集程式設計師Java面試題
- 好程式設計師Java培訓分享Mybatis面試題集合程式設計師JavaMyBatis面試題
- JAVA程式設計師面試題庫分享Java程式設計師面試題
- 好程式設計師Java培訓分享Java面試題之Java集合篇三程式設計師Java面試題
- 好程式設計師Java教程分享Java語法程式設計師Java
- 好程式設計師Java教程分享Java之設計模式程式設計師Java設計模式