java 并发面试题以及个人理解

并发面试题

synchronized 的实现原理以及锁优化?

synchronized 同步关键字是java语言提供的一个同步锁,本质是对象锁,因为每个对象创建时都会有对象头,且对象头上有markword头。
使用synchronized关键字后,会把当前线程加入到对象池中。

2、volatile 的实现原理?

保证多线程编程可见性。

3、Java 的信号灯?

4、synchronized 在静态方法和普通方法的区别?

5、怎么实现所有线程在等待某个事件的发生才会去执行?

6、CAS?CAS 有什么缺陷,如何解决?

7、synchronized 和 lock 有什么区别?

8、Hashtable 是怎么加锁的 ?

9、HashMap 的并发问题?

10、ConcurrenHashMap 介绍?1.8 中为什么要用红黑树?

11、AQS

12、如何检测死锁?怎么预防死锁?

13、Java 内存模型?

14、如何保证多线程下 i++ 结果正确?

15、线程池的种类,区别和使用场景?

16、分析线程池的实现原理和线程的调度过程?

17、线程池如何调优,最大数目如何确认?

18、ThreadLocal原理,用的时候需要注意什么?

19、CountDownLatch 和 CyclicBarrier 的用法,以及相互之间的差别?

20、LockSupport工具

21、Condition接口及其实现原理

22、Fork/Join框架的理解

23、分段锁的原理,锁力度减小的思考

24、八种阻塞队列以及各个阻塞队列的特性

posted @ 2020-03-12 13:20  小小zkj  阅读(119)  评论(0)    收藏  举报