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