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虚拟机与集合常见高频面经
全部评论
(4) 回帖