java並發麵試題(一)基礎
多線程
- java中有幾種方法可以實現一個線程?
- 如何停止一個正在運行的線程?
- notify()和notifyAll()有什麼區別?
- sleep()和 wait()有什麼區別?
- 什麼是Daemon線程?它有什麼意義?
- java如何實現多線程之間的通訊和協作?
鎖
- 什麼是可重入鎖(ReentrantLock)?
- 當一個線程進入某個對象的一個synchronized的實例方法後,其它線程是否可進入此對象的其它方法?
- synchronized和java.util.concurrent.locks.Lock的異同?
- 樂觀鎖和悲觀鎖的理解及如何實現,有哪些實現方式?
並發框架
- SynchronizedMap和ConcurrentHashMap有什麼區別?
- CopyOnWriteArrayList可以用於什麼應用場景?
線程安全
- 什麼叫線程安全?servlet是線程安全嗎?
- 同步有幾種實現方法?
- volatile有什麼用?能否用一句話說明下volatile的應用場景?
- 請說明下java的內存模型及其工作流程。
- 為什麼代碼會重排序?
文章轉自 並發編程網-ifeve.com
最後更新:2017-05-22 20:04:34