1. 程式人生 > >史上最全Java多執行緒面試題及答案

史上最全Java多執行緒面試題及答案

image

多執行緒併發程式設計是Java程式設計中重要的一塊內容,也是面試重點覆蓋區域。所以,學好多執行緒併發程式設計對Java程式設計師來來說極其重要的。下面小編整理了60道最常見的Java多執行緒面試題及答案,供你學習或者面試參考。

  1. 多執行緒有什麼用?

  2. 執行緒和程序的區別是什麼?

  3. ava實現執行緒有哪幾種方式?

  4. 啟動執行緒方法start()和run()有什麼區別?

  5. 怎麼終止一個執行緒?如何優雅地終止執行緒?

  6. 一個執行緒的生命週期有哪幾種狀態?它們之間如何流轉的?

  7. 執行緒中的wait()和sleep()方法有什麼區別?

  8. 多執行緒同步有哪幾種方法?

  9. 什麼是死鎖?如何避免死鎖?

  10. 多執行緒之間如何進行通訊?

  11. 執行緒怎樣拿到返回結果?

  12. violatile關鍵字的作用?

  13. 新建T1、T2、T3三個執行緒,如何保證它們按順序執行?

  14. 怎麼控制同一時間只有3個執行緒執行?

  15. 為什麼要使用執行緒池?

  16. 常用的幾種執行緒池並講講其中的工作原理。

  17. 執行緒池啟動執行緒submit()和execute()方法有什麼不同?

  18. CyclicBarrier和CountDownLatch的區別?

  19. 什麼是活鎖、飢餓、無鎖、死鎖?

  20. 什麼是原子性、可見性、有序性?

  21. 什麼是守護執行緒?有什麼用?

  22. 怎麼中斷一個執行緒?如何保證中斷業務不影響?

  23. 一個執行緒執行時發生異常會怎樣?

  24. 什麼是重入鎖?

  25. Synchronized有哪幾種用法?

  26. Fork/Join框架是幹什麼的?

  27. 執行緒數過多會造成什麼異常?

  28. 說說執行緒安全的和不安全的集合。

  29. 什麼是CAS演算法?在多執行緒中有哪些應用。

  30. 怎麼檢測一個執行緒是否擁有鎖?

  31. Jdk中排查多執行緒問題用什麼命令?

  32. 執行緒同步需要注意什麼?

  33. 執行緒wait()方法使用有什麼前提?

  34. Fork/Join框架使用有哪些要注意的地方?

  35. 執行緒之間如何傳遞資料?

  36. 保證”可見性”有哪幾種方式?

  37. 說幾個常用的Lock介面實現鎖。

  38. ThreadLocal是什麼?有什麼應用場景?

  39. ReadWriteLock有什麼用?

  40. FutureTask是什麼?

  41. 怎麼喚醒一個阻塞的執行緒?

  42. 不可變物件對多執行緒有什麼幫助?

  43. 多執行緒上下文切換是什麼意思?

  44. Java中用到了什麼執行緒排程演算法?

  45. Thread.sleep(0)的作用是什麼?

  46. Java記憶體模型是什麼,哪些區域是執行緒共享的,哪些是不共享的

  47. 什麼是樂觀鎖和悲觀鎖?

  48. Hashtable的size()方法為什麼要做同步?

  49. 同步方法和同步塊,哪種更好?

  50. 什麼是自旋鎖?

  51. Runnable和Thread用哪個好?

  52. Java中notify和notifyAll有什麼區別?

  53. 為什麼wait/notify/notifyAll這些方法不在thread類裡面?

  54. 為什麼wait和notify方法要在同步塊中呼叫?

  55. 為什麼你應該在迴圈中檢查等待條件?

  56. Java中堆和棧有什麼不同?

  57. 你如何在Java中獲取執行緒堆疊?

  58. 如何建立執行緒安全的單例模式?

  59. 什麼是阻塞式方法?

  60. 提交任務時執行緒池佇列已滿會時發會生什麼?

答案整理

關注下面的微信公眾號,在裡面回覆:面試題答案

推薦閱讀

分享Java乾貨,高併發程式設計,熱門技術教程,微服務及分散式技術,架構設計,區塊鏈技術,人工智慧,大資料,Java面試題,以及前沿熱門資訊等。