Java multi-threaded concurrent learning - advanced outline

1. What is the implementation principle of synchronized and lock optimization?
2. What is the implementation principle of volatile?
3. Java semaphore?
4. What is the difference between synchronized in static methods and ordinary methods?
5. How to realize that all threads wait for the occurrence of an event to execute?
6. CAS? What's wrong with CAS and how to fix it?
7. What is the difference between synchronized and lock?
8. How is Hashtable locked?
9. The concurrency problem of HashMap?
10. Introduction to ConcurrenHashMap? Why use red-black trees in 1.8?
11. AQS
12. How to detect deadlock? How to prevent deadlock?
13. Java memory model?
14. How to ensure the correct result of i++ under multi-threading?
15. What are the types, differences and usage scenarios of thread pools?
16. Analyze the implementation principle of the thread pool and the thread scheduling process?
17. How to tune the thread pool and how to confirm the maximum number?
18. ThreadLocal principle, what should I pay attention to when using it?
19. The usage of CountDownLatch and CyclicBarrier, and the difference between them?
20. LockSupport tool
21. Condition interface and its implementation principle
22. Understanding of Fork/Join framework
23. The principle of segmented locks, thinking about reducing lock strength
24. Eight types of blocking queues and the characteristics of each blocking queue

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325082198&siteId=291194637