This course, Advanced Java Concurrent Patterns is an in-depth presentation of advanced fundamentals you'll need to understand to write efficient concurrent applications, that support heavy concurrency and provide high throughput. You'll learn about how you can improve the quality of your concurrent code, by using sophisticated concurrent tools that allow for smooth lock acquisition and fault tolerancy. You'll also be introduced to advanced data structures, such as the copy on write arrays, the concurrent blocking queues, the concurrent skip lists and concurrent hashmaps. By the end of this course, you will understand how to use cyclic barriers, count down latches and semaphores, and how to atomic variables to write non-locking code. All of this will help you on your journey to write better applications.
Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language. Assistant professor in Paris North University for more than 15 years, Jose also brings his expertise to many projects, in various industrial fields.
Hi everyone, my name is José, welcome to my course Advanced Java Concurrent Patterns.
I am talking to you from Paris, where I am assistant professor, as well as a speaker at various Java conferences: JavaOne in San Francisco and Devoxx here in Europe, just to name a few.
I know how scary the title of this course might look! But don’t be afraid, I’ll take you through it step by step. We will see the patterns, how things can go wrong, and how to deal with the situation.
If you follow me, at the end of this course, you will have a good idea of the following:
The ExecutorService Pattern, Callables and Futures
What is interruptible or timed out lock acquisition?
What are locks, semaphores, barriers and latches?
What is CASing and atomic variables?
And at last we will see the concurrent Collections: copy on write array lists, concurrent hashmaps, and concurrent skip lists.
But before you move on, you will need to be familiar with the Java language, and the Collection API. You also need some knowledge of concurrency and be able to write basic lambda expressions. For that, you can check the Pluralsight library for Java courses on those topics.
Yes, this is an ambitious ride, but don’t be afraid, just let me guide you through all this, and you will see that from the other side, concurrency is in fact not that scary.