java面試之JVM與多線程


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM