java併發面試題(一)-基礎

本文整理了常見的Java併發面試題,希望對大家面試有所幫助,歡迎大家互相交流。

多線程

  1. java中有幾種方法可以實現一個線程?
  2. 如何停止一個正在運行的線程?
  3. notify()和notifyAll()有什麼區別?
  4. sleep()和 wait()有什麼區別?
  5. 什麼是Daemon線程?它有什麼意義?
  6. java如何實現多線程之間的通訊和協作?

  1. 什麼是可重入鎖(ReentrantLock)?
  2. 當一個線程進入某個對象的一個synchronized的實例方法後,其它線程是否可進入此對象的其它方法?
  3. synchronized和java.util.concurrent.locks.Lock的異同?
  4. 樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?

併發框架

  1. SynchronizedMap和ConcurrentHashMap有什麼區別?
  2. CopyOnWriteArrayList可以用於什麼應用場景?

線程安全

  1. 什麼叫線程安全?servlet是線程安全嗎?
  2. 同步有幾種實現方法?
  3. volatile有什麼用?能否用一句話說明下volatile的應用場景?
  4. 請說明下java的內存模型及其工作流程。
  5. 爲什麼代碼會重排序?
原創文章,轉載請註明: 轉載自併發編程網 – ifeve.com本文鏈接地址: java併發面試題(一)基礎
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章