Java Fundamentals: Asynchronous Programming Using CompletionStage

Asynchronous programming is what the CompletionStage API, from the JDK, brings you. This course covers all the patterns you need to create efficient asynchronous data processing pipelines, including thread control and error recovery.
Course info
Level
Intermediate
Updated
Jul 30, 2018
Duration
3h 4m
Table of contents
Introducing Asynchronous vs. Concurrent Tasks
Setting up an Asynchronous Operations with CompletionStage
Triggering a Task on the Completion of Other Tasks
Dealing with Exception in the CompletionStage Pipeline
Creating Performant Asynchronous Pipelines with CompletionStage
Course Overview
Description
Course info
Level
Intermediate
Updated
Jul 30, 2018
Duration
3h 4m
Description

As a Java developer, being able to create asynchronous systems allows you to develop very efficient applications, that need both throughput and performance. In this course, Java Fundamentals: Asynchronous Programming Using CompletionStage, you will learn all the patterns brought to you by this API. First, you will learn the concepts of asynchronous programming: tasks, non-blocking calls and multi-threaded systems. Then, you will see how to build data processing pipelines where the completion of a first task automatically triggers the execution of a next task, passing data to it. Finally, you will see how to create performant systems by controlling the execution of each task in the right thread. Mastering all of this will help you in creating performant and error-free asynchronous systems with the only dependency being the JDK itself.

About the author
About the author

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.

More from the author
More courses by Jose Paumard
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hello. My name is Jose. I'm a Java champion and Java 1 rock star. I live in Paris, and I'm very excited to present my new course, Java Fundamentals: Asynchronous Programming Using CompletionStage. This course is about creating asynchronous non-blocking applications and systems in Java. First, you will learn the technical terms, the technical vocabulary you need, then you will see how to set up complex asynchronous data processing pipelines made of tasks that are executed automatically passing data from one another. You will be able to create robust systems, handling errors and exceptions in a proper way to log them or to recover from them. And then you will see how to finally control which thread executes which task for optimal performance, all this with many examples and live demos. Before you move on, be sure to be familiar with all these, the Java language, a little bit of concurrency, and the exception system in Java. Asynchronous programming is not an easy topic, and I will be very happy to show you how it works in the JDK and make the CompletionStage API a tool that will help you become a better Java application developer.