2020年的上半年的时间已经过去,不知道大家有没有为下半年的金九银十的跳槽做好准备,不管你到底准备好了没,小编通过各大网站平台,和一些面进BATJ这些大厂的朋友的交流,总结出了一份2020上半年的面试总结,共计1259道,最为全网首发,现在免费公开!希望对大家下半年的跳槽有所帮助!
总目录大纲
多线程&并发面试题
1. Java中实现多线程有几种方法
2、继承Thread类
3、实现Runnable接口。
4、ExecutorService. Callable. Future有返回值线程
5、基于线程池的方式
6. 4种线程池
7、如何停止一个正在运行的线程
8、 notify0和notifyAll0有什么区别?
9. sleep0和wait0有什么区别?
10、volatile 是什么?可以保证有序性吗?
11、Thread 类中的start0和run0方法有什么区别?
12. 为什么wait, notify和nfifAllI这些方法不在thread类里面?
13、 为什么wait和ntify方法要在同步块中调用?
14、Java中interrupted 和isInterruptedd方法的区别?
15. Java中synchronized 和ReentrantLock有什么不同?
16、 有三个线程T1,T2,T3,如何保证顺序执行?
17. SynchronizedMap和ConcurrentHashMap有什么区别?
18、什么是线程安全?
19. Thread类中的yield方法有什么作用?
20、Java线程池中submit0 和execute0方法有什么区别?
21、说一-说自己对于synchronized关键字的了解
22、说说自己是怎么使用synchronized 关键字,在项目中用到了吗synchronized关键字最主要的三种使用方式
23、什么是线程安全? Vector是一个线程安全类吗?
24、volatile关键字的作用?
25、简述一下你对线程池的理解
26. 线程生命周期(状态)
27、新建状态(NEW)
28、就绪状态(RUNNABLE)
29、运行状态(RUNNING)
30、阻塞状态(BLOCKED)
31、线程死亡(DEAD)
32、 终止线程4种方式
33、start与 run区别
34、JAVA后台线程
35、什么是乐观锁
36、什么是悲观锁
37、什么是自旋锁
38、Synchronized 同步锁
39、ReentrantLock
40、Condition 类和Object 类锁方法区别区别
41、tryLock 和lock 和lockInterruptibly的区别
42、Semaphore 信号量
43、Semaphore 与ReentrantLock区别
44、可重入锁(递归锁)
45、公平锁与非公平锁
46、ReadWriteLock 读写锁
47、共享锁和独占锁
48. 重量级锁(Mutex Lock)
49、轻量级锁
50、 偏向锁
51、分段锁
52、锁优化
53、 线程基本方法
54、 线程等待(wait)
55. 线程睡眠(sleep)
56、 线程让步(yield)
57. 线程中断(interrupt)
58、Join等待其他线程终止
59. 为什么要用join0方法?