去年秋招面试过的各个大厂总结的一波Java并发常见高频面经
Java并发常见高频面试题总结
Java并发在面试过程中经常会问到,基本上属于必知必会的知识点,有的面试官甚至还会问的比较深入,所以有时间还是建议好好学习一下这方面的知识,下面总结的还是一些Java并发的高频面试题
问题汇总
1. 实现线程的方式及区别
2. 线程的启动
2.1 为什么要用start()方法启动线程而不用run()启动
2.2 一个线程两次调用start()方***发生什么
3. 线程的停止
4. 线程的状态转换
5. 线程安全的定义
6. wait()/notify()与sleep()
6.1 wait()/notify()与sleep()的异同
6.2 为什么线程通信的方法wait()/notify()定义在Object类,而sleep()定义在Thread类
7. 线程池
7.1 wait()/notify()与sleep()的异同
7.2 创建线程池的7个参数
8. volatile关键字和synchornized关键字
8.1 volatile是什么,适用场合及其作用(建议了解一下原理)
8.2 synchorinzed的作用及使用方式(建议了解一下原理)
8.3 volatile和synchornized的关系
9. synchornized和Reentrantlock的区别
10. JUC包下面的一些类
11. Java并发相关代码
11.1 实现两个线程轮流打奇偶数
11.2 实现生产者消费者模型
11.3 单例模式的书写及相关问题
相关答案已经整理成pdf了,有需要的可以私信我
其他相关面经
去年秋招面试过的各个大厂总结的一波关于计算机网络的高频面经
去年秋招面试过的各个大厂总结的数据库与操作系统常见高频面经
去年秋招面试过各个大厂总结的Java虚拟机与集合常见高频面经