Asynchronous Programming in Java

Asynchronous Programming in Java
Asynchronous Programming in Java
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 1 Hour | 548 MB

Reactive and asynchronous applications are growing in popularity, but what is the best way to build them? This course teaches you how to apply the latest concurrency techniques to develop state of the art Java applications. With the rise of microservices and service oriented architecture (SOA), asynchronous concurrency is now critical to day-to-day Java development. This video, designed for software architects and intermediate- to advanced-level Java developers, begins by reviewing the differences between asynchronous and synchronous programming. It then looks at the problems Java programmers currently have when using different synchronous programming models before diving deep into non-blocking I/O, timeouts, circuit breakers, and the different approaches to concurrency.

  • Discover the primary bottlenecks and pitfalls around programming synchronous Java applications
  • Understand the benefits of working with asynchronous programming techniques
  • Learn to write Java code that fits into a SOA/microservices communication pattern
  • Gain experience programming event-driven, reactive code in Java
Table of Contents

01 Introduction + Thread Pools and Blocking I/O
02 The Problem with Blocking I/O
03 Introduction to Non-Blocking I/O
04 Using Non-Blocking I/O with Callbacks
05 Refactoring to Non-Blocking I/O
06 Composing Callbacks
07 Composing Callbacks Exercise
08 Why do we need Timeouts
09 Implementing Timeouts
10 Retrying Failures
11 Circuit Breakers
12 Retry Exercise
13 Summary
14 Approaches to Concurrency