-
19、HashTable(线程安全)
-
20、TreeMap(可排序)
-
21、LinkHashMap(记录插入顺序)
-
22、泛型类
-
23、类型通配符?
-
24、类型擦除
第三分类 Java中的IO与NIO面试题
第四分类 Java反射面试题
第五分类 Java序列化面试题
第六分类 Java注解面试题
第七分类 多线程&并发面试题
-
1、Java中实现多线程有几种方法
-
2、继承 Thread 类
-
3、实现 Runnable 接口。
-
4、ExecutorService、 Callable、 Future 有返回值线程
-
5、基于线程池的方式
-
6、4 种线程池
-
7、如何停止一个正在运行的线程
-
8、notify()和notifyAll()有什么区别?
-
9、sleep()和wait() 有什么区别?
-
10、volatile 是什么?可以保证有序性吗?
-
11、Thread 类中的start() 和 run() 方法有什么区别?
-
12、为什么wait, notify 和 notifyAll这些方法不在thread类里面?
-
13、为什么wait和notify方法要在同步块中调用?
-
14、Java中interrupted 和 isInterruptedd方法的区别?
-
15、Java中synchronized 和 ReentrantLock 有什么不同?
-
16、有三个线程T1,T2,T3,如何保证顺序执行?
-
17、SynchronizedMap和ConcurrentHashMap有什么区别?
-
18、什么是线程安全
-
19、Thread类中的yield方法有什么作用?
-
20、Java线程池中submit() 和 execute()方法有什么区别?
-
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、为什么要用 join()方法?
-
60、线程唤醒(notify)
-
61、线程其他方法
-
62、进程
-
63、上下文
-
64、寄存器
-
65、程序计数器
-
66、PCB-“切换桢”
-
67、上下文切换的活动
-
68、引起线程上下文切换的原因
-
69、同步锁
-
70、死锁
-
71、线程池原理
-
72、线程复
-
73、线程池的组成
-
74、拒绝策略
-
75、Java 线程池工作过程
-
76、JAVA 阻塞队列原理
-
77、Java 中的阻塞队列
-
78、ArrayBlockingQueue(公平、非公平)
-
79、LinkedBlockingQueue(两个独立锁提高并发)
【一线大厂Java面试题解析