1.synchronized和volatile的区别:
2.什么是happens-before原则?
3.线程有几种状态?
4.指令重排序
5.什么是线程安全与非线程安全?
6.类的加载与卸载?
7. synchronized与volatile的实现原理?
8.什么是类加载器?
9.什么是双亲委派模型?
10.垃圾回收机制?
11.CAS与ABA
12.乐观锁与悲观锁?
13.AQS与lock
14.什么情况下会触发FullGC?
15.什么情况触发minorGC?
16.java1.8为什么用Metaspace(元空间)替换掉PermGen(永久代)?Metaspace保存在哪里?
17.线程池
18.对象引用有哪几种方式?
19.Java对象生命周期与类的生命周期?
20.JUC常用工具?
21.阻塞非阻塞、同步与非同步的概念?
22.wait()与sleep()方法的异同点?
23.Synchronized 和 ReentrantLock 有什么不同?各适合什么场景?
24.读写锁的适用场景?ReentrantReadWriteLock是如何实现的?
25.线程间的通信方式?
26.保证线程安全的方法有哪些?
27.如何提高多线程的并发性能?
28. ThreadLocal用来解决什么问题?ThreadLocal是如何实现的?
29.类的线程安全
30.Callable与Future
31.重量级锁的实现
32.轻量级锁的加锁过程?
33.Future与FutureTask?
34.ReentrantLock的实现原理?
35.ReentrantReadWriteLock实现原理
37.volatile的原理
38.并发常用工具类
以上问题答案:
链接:https://pan.baidu.com/s/1867ot71fsVwJdE9yhDC98w
提取码:re8e