史上最全Java多線程面試題及答案
-
多線程有什麽用?
-
線程和進程的區別是什麽?
-
Java實現線程有哪幾種方式?
-
啟動線程方法start()和run()有什麽區別?
-
怎麽終止一個線程?如何優雅地終止線程?
-
一個線程的生命周期有哪幾種狀態?它們之間如何流轉的?
-
線程中的wait()和sleep()方法有什麽區別?
-
多線程同步有哪幾種方法?
-
什麽是死鎖?如何避免死鎖?
-
多線程之間如何進行通信?
-
線程怎樣拿到返回結果?
-
violatile關鍵字的作用?
-
新建T1、T2、T3三個線程,如何保證它們按順序執行?
-
怎麽控制同一時間只有3個線程運行?
-
為什麽要使用線程池?
-
常用的幾種線程池並講講其中的工作原理。
-
線程池啟動線程submit()和execute()方法有什麽不同?
-
CyclicBarrier和CountDownLatch的區別?
-
什麽是活鎖、饑餓、無鎖、死鎖?
-
什麽是原子性、可見性、有序性?
-
什麽是守護線程?有什麽用?
-
怎麽中斷一個線程?如何保證中斷業務不影響?
-
一個線程運行時發生異常會怎樣?
-
什麽是重入鎖?
-
Synchronized有哪幾種用法?
-
Fork/Join框架是幹什麽的?
-
線程數過多會造成什麽異常?
-
說說線程安全的和不安全的集合。
-
什麽是CAS算法?在多線程中有哪些應用。
-
怎麽檢測一個線程是否擁有鎖?
-
Jdk中排查多線程問題用什麽命令?
-
線程同步需要註意什麽?
-
線程wait()方法使用有什麽前提?
-
Fork/Join框架使用有哪些要註意的地方?
-
線程之間如何傳遞數據?
-
保證"可見性"有哪幾種方式?
-
說幾個常用的Lock接口實現鎖。
-
ThreadLocal是什麽?有什麽應用場景?
-
ReadWriteLock有什麽用?
-
FutureTask是什麽?
-
怎麽喚醒一個阻塞的線程?
-
不可變對象對多線程有什麽幫助?
-
多線程上下文切換是什麽意思?
-
Java中用到了什麽線程調度算法?
-
Thread.sleep(0)的作用是什麽?
-
Java內存模型是什麽,哪些區域是線程共享的,哪些是不共享的
-
什麽是樂觀鎖和悲觀鎖?
-
Hashtable的size()方法為什麽要做同步?
-
同步方法和同步塊,哪種更好?
-
什麽是自旋鎖?
-
Runnable和Thread用哪個好?
-
Java中notify和notifyAll有什麽區別?
-
為什麽wait/notify/notifyAll這些方法不在thread類裏面?
-
為什麽wait和notify方法要在同步塊中調用?
-
為什麽你應該在循環中檢查等待條件?
-
Java中堆和棧有什麽不同?
-
你如何在Java中獲取線程堆棧?
-
如何創建線程安全的單例模式?
-
什麽是阻塞式方法?
-
提交任務時線程池隊列已滿會時發會生什麽?
史上最全Java多線程面試題及答案