java面试-多线程常见面试题

多线程是java的一名必修课,熟悉并掌握多线程在面试中很重要。一般多线程的面试集中在底层实现,基本概念,线程池等问题。如果对多线程的概念有兴趣可以看下公众号中多线程系列的文章。

  1. Volatile的作用是什么?底层是怎么实现的?缓存的一致性协议是什么?有没有了解过内存屏障?
  2. Synchronized 的原理有了解?和reentryLock的区别是什么?锁升级是指什么?
  3. 并发和并行的概念有了解?Java实现并发的方式有几种?
  4. 线程和进程的概念?守护线程是干什么的?常见的守护线程有哪些?
  5. Java怎么创建一个线程,native关键字的作用是什么?Thread类中绝大部分的方法是native的,有了解过怎么实现的么?
  6. Runnable和callable分别是什么?Future的作用是什么?
  7. 线程的状态有哪些?是怎么转换的?Jvm怎么查看线程的运行状态?
  8. Sleep和wait的区别?Notify和notifyall的区别是啥?
  9. AQS的源码有了解过?怎么实现一个公平锁和非公平锁?共享和非共享?
  10. Condition的源码有了解么?什么是等待队列,什么是同步队列?
  11. 多线程的三个基本特性是什么?Java是怎么实现原子性,有序性,一致性呢?
  12. Thread 类中的start和run方法的区别是什么?
  13. Threadlocal有了解过?其使用在哪些场景?ThreadlocalMap的key 和value是什么?怎么保证内存不会泄露
  14. Java的CAS是怎么实现的?Atomic包中的atmoicinteger 和atmoicintegerFiledUpdater 的区别是什么?分别在什么场景下使用?
  15. Java的线程池是怎么实现的?其原理是什么?线程池怎么设计核心线程数和最大线程数,拒绝策略怎么选择?怎么优雅关闭一个线程池?
  16. 了解死锁么?怎么防止死锁?
  17. ConcurrenthashMap的put方法?其扩容过程有了解过?
  18. Java安全的阻塞队列有哪些?分别提供了什么功能?
  19. Java中提供了哪些线程安全的队列?
  20. Fork-join框架有了解过?ParallelStream有使用过?
  21. 简述一下JMM,as-if-serial语义、happens-before模型?

 

想要了解更多java内容(包含大厂面试题和题解)可以关注公众号,也可以在公众号留言,帮忙内推阿里、腾讯等互联网大厂哈

 

                                              

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值