Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

Preface

The so-called concurrent programming refers to the "simultaneous" processing of multiple tasks on a single processor. Concurrency is multiple events on the same entity. Multiple events occur at the same time interval. I have always felt that concurrent programming is the basic skill of all back-end engineers . Learning Java's concurrency tools has improved the overall understanding of concurrency and even distribution, so I want to share it with you.

The art of concurrent programming in Java

I started to use direct JCIP (Java Concurrency in Practice) found not grasp the main line of the book, so the thinking from the start of the country first, then read the next Fang Tengfei's "Art of Java concurrent programming" , the book for building The overall image of Java concurrency has improved, at least I know what to learn more.

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

This book combines the source code of JDK to introduce the realization principle of Java concurrency framework and thread pool, to help readers know why. This book's analysis of principles is not limited to the Java level, but goes deep into the JVM and even the CPU level to explain it, helping readers see concurrency technology from a lower level. Combining online applications, this book gives some practical skills of concurrent programming, as well as the steps and ideas for online handling of concurrent problems.

The Art of Multiprocessor Programming

Then I want to strengthen the theory of concurrency and continue to read The Art of Multiprocessor Programming . This book is only in the original English version. It is a bit difficult to read, but there are still a lot of benefits after it is passed. It is recommended that beginners understand the concept and read it later.

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

The Art of Multiprocessor Programming

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

This book is intended to serve both as a textbook for a senior-level undergraduate course, and as a reference for practitioners.

JCIP (Java Concurrent Programming Practice)

With the support of the above two steps, I then started to chew on JCIP again. I found that I have a different feeling than before. I can follow the context of the book relatively easily, know the overall framework of the book, and it is not so hard to read. This book is known as the bible of concurrent programming in Java, and it can indeed be seen that the author has a wealth of concurrent practical experience.

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

The overall context of the JCIP book is as follows:

  1. Introduce the pros and cons of multithreading;
  2. Explain what thread safety is and how to achieve thread safety;
  3. Starting from high-frequency usage scenarios, introduce how to achieve thread safety in object transfer and class design;
  4. Starting from the Java concurrency package, introduce the high-level concurrency components and related principles;
  5. Introduce some drawbacks of concurrency and how to avoid them;
  6. Starting from the Java concurrency package, introduce the underlying concurrency components and principles;

In general, the book has two main lines: 1 introduces some important components and principles of Java concurrent packages from high to low; 2 starts from the concurrency scenario, introduces how to use these components to obtain thread safety. The second part is the biggest feature of this book, and it is also the reason why Practice is included in the title.

All Java concurrent programming books have been sorted in PDF, and a knowledge map learning route is attached. Friends who need the full version can get it in the following ways! ! !

Seven weeks and seven concurrency model

At this point, how can we continue to improve? I found a very interesting book, "Seven Weeks and Seven Concurrency Models" . My previous vision has always been a deep understanding of the Java concurrent programming toolkit. I feel that I should jump out and look at the principles of concurrent implementation of various languages ​​from the perspective of the model. I am currently at this step and found it very interesting. Chapter 1 talks about The thread and lock model of Java feels very essential. I only used three small chapters to go through the overall context of Java. It is highly recommended for review.

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

With the basic knowledge of Java concurrency, it is very suitable to read seven weeks and seven concurrency. I am currently reading seven weeks and seven concurrency. I found it interesting to understand concurrency from the perspective of paradigms in multiple languages. The original thread and lock provided by Java The mechanism is actually equivalent to a relatively primitive tool, which is closest to the bottom layer. I recently came into contact with Scala, which uses AKKA, which is a high-level concurrency abstraction.

Seven weeks and seven concurrency attempts to explain the evolution of Java's concurrent package as a representative of locks and threads from a historical perspective. The first to join the JDK was actually synchronized and its statement, but it was found that it lacks related timeout and uninterruptible functions. Added reentrant locks, read-write locks, etc., and later added various thread-safe data structures and advanced synchronization mechanisms.

Next, seven-week-seven concurrency is explained from the perspective of various paradigms such as functional programming. In addition to threads and locks, there are many other high-level abstractions that make it easier to write concurrent code.

This book is very helpful for fully understanding concurrency and broadening your horizons. I recommend everyone to read it.

Deep understanding of the Java virtual machine

I recently read the concurrency part of "In-depth Understanding of the Java Virtual Machine" and found that my understanding has changed again.

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Java language and virtual machine provide native and complete multi-threading support, making it inherently suitable for developing multi-threaded concurrent applications. But we can't expect the system to complete all the processing related to concurrency. Understanding the inside story of concurrency is also an indispensable course for advanced programmers.

Knowledge map learning route

The following is the latest version of the Java Concurrent Programming Knowledge Graph and the book learning route organized according to my learning experience :

Java Concurrent Programming Knowledge Graph

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

Java concurrent programming learning route

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

These 5 Java concurrent programming books PDF and 2 knowledge graph learning routes, friends who need the full version, can get them in the following ways! ! !

Alibaba's internal concurrent programming clearance cheats are exposed, 5 books and 2 knowledge graphs cover everything

 

At last

It is worth emphasizing that when making technical choices, concurrency is just a means in the toolbox. Learning it is just to be able to use it flexibly. The first choice of design is still the most simplified in the situation at the time. use.

Guess you like

Origin blog.csdn.net/JavaBye/article/details/109310787