Preface
For a Java programmer, proficiency in concurrent programming is one of the important criteria for judging his excellence . Because concurrent programming is the most obscure knowledge point in the Java language, it involves the basic abilities of operating systems, memory, CPU, programming language, etc., and it tests a programmer's internal skills.
So how do you learn concurrent programming? There are many concurrent toolkits for the Java SDK. Do you have to memorize the advantages and disadvantages and usage scenarios of each tool? Of course not. If you want to learn concurrent programming well, you need to "jump out" from a single piece of knowledge and technology, look at the problem from the top, and gradually establish your own knowledge system.
share it
LZ today shares with readers an electronic version of the Java High Concurrency Programming Dry Goods Book "Java High Concurrency Programming: Multithreading and Architecture Design". This book tells about the relevant content of Java high concurrent programming in depth, the coverage is wide and complete, can regard it as an encyclopedia of Java high concurrent programming. There is also a video sharing of concurrent programming tutorials for Tsinghua University Soldiers
Forward + follow, and then add VX (tkzl6666) to get the electronic version of "Java High Concurrent Programming: Multithreading and Architecture Design" and "Tsinghua University Soldiers' Concurrent Programming Tutorial Video" for free!
Suitable reading crowd: suitable for readers who have Java development experience and aim to become Java masters and architects to read this book
content
The first part mainly elaborates the basic knowledge of Thread, and introduces in detail the use of thread API, thread safety, data communication between threads, and how to protect shared resources. It is the basis for in-depth study of multi-threaded content.
The reason why ClassLoader is introduced in the second part is because ClassLoader is not unrelated to threads. We can use the synchronized keyword or explicit lock methods such as Lock to protect shared resources data consistency during the code writing stage. Then a How does the data structure of Class ensure data consistency in the method area (metadata space after JDK8) from the complete initialization process to the end? This requires a more comprehensive understanding and understanding of ClassLoader.
In the third part, the author used three chapters to introduce the semantics of the volatile keyword in detail and in depth. The volatile keyword is very important in Java. It can be said that it lays the foundation for the efficient operation of the Java core concurrent package. In this part, We have shown how to use the volatile keyword through examples and introduced the Java memory model in great detail.
The fourth part explains how to design efficient and flexible multi-threaded applications from the perspective of program architecture design. The fourth part should be the most content part, including a total of 15 chapters.
table of Contents
Part One-Multithreading Basics
Chapter 1: Quickly recognize threads
Chapter 2: In-depth understanding of the Thread constructor
Chapter 3: Detailed introduction of Thread API
Chapter 4: Thread Safety and Data Synchronization
Chapter 5: Communication between threads
Chapter 6: ThreadGroup explained in detail
Chapter 7: Hook thread and catch thread execution exception
Chapter 8: Thread Pool Principle and Custom Thread Pool
Part Two-Java ClassLoader
Chapter 9: Class loading process
Chapter 10: JVM Class Loader
Chapter 11: Thread Context Class Loader
Part Three-In-depth understanding of the volatile keyword
Chapter 12: Introduction to the volatile keyword
Chapter 13: In-depth volatile keyword
Chapter 14: Design of 7 singleton design patterns
Part Four-Multithreaded Design Architecture Pattern
Chapter 15: Monitoring the life cycle of tasks
Chapter 16: Single Thread Execution design pattern
Chapter 17: Design Pattern of Separation of Read and Write Locks
Chapter 18: Immutable Object Design Patterns
Chapter 19: Future Design Pattern
Chapter 20: Guarded Suspensi on Design Pattern
Chapter 21: Thread Context Design Pattern
Chapter 22: Balking Design Pattern
Chapter 23: Latch Design Pattern
Chapter 24: Thread-Per-Message Design Pattern
Chapter 25: Two Fhase Termination Design Pattern
Chapter 26: Worker-Thread Design Pattern
Chapter 27: Active Objects Design Pattern
Chapter 28: Event Bus Design Pattern
Chapter 29: Event Driven Design Pattern
Forward + follow, and then add VX (tkzl6666) to get the electronic version of "Java High Concurrent Programming: Multithreading and Architecture Design" and "Tsinghua University Soldiers' Concurrent Programming Tutorial Video" for free!
"Tsinghua University Soldiers' Concurrent Programming Tutorial Video"