Java多线程面试题汇总

  1. 线程协作的方式,SyclicBarrier的底层是怎么实现的?

  2. 如何实现三个线程交替打印ABC?

  3. volatile的底层原理?不是回答内存屏障,是问你调用了什么CPU的API,在不同硬件情况下会有什么不同吗?

  4. 两个线程轮流打印奇数偶数

  5. synchronized介绍

  6. synchronized锁升级过程

  7. wait()和sleep()的区别

  8. volatile的作用

  9. 双重检查的用处,假如不要第一次if判断会有什么问题

  10. synchronized和ReentrantLock

  11. 线程池

  12. 线程池的实现原理,线程池中的等待任务只有一个队列,如果线程池中的线程比较多,竞争会比较大,怎么解决?

  13. 不可重入锁有哪些

  14. 实现高并发的几种策略(COW, cas, 锁),各自的使用场景及区别?

  15. Vector如何实现线程安全?

  16. 做一个高可用系统要考虑什么?

  17. 使用线程池时参数有哪些?继承和实现接口哪个更好?

  18. Synchronized 与lock 的区别

  19. threadlocal内存泄漏,解决方案

  20. 偏向锁和轻量级锁的区别

  21. 待更新(2020.07.24)

你可能感兴趣的:(笔记,面试)