Reactive Programming in Java 12 with RxJava 2
In this course you will learn to use the RxJava Version 2 library to accomplish the goals of the Reactive Manifesto, the software industries standard for Reactive Programming.
What you'll learn
Due to heat limitations, modern computer systems have been unable to increase CPU clock speeds in order to increase chip performance. Instead, chip designers have begun to scale performance using an increasing number of on-chip processor cores.
In this course, Reactive Programming in Java 12 with RxJava 2, you will gain the ability to implement Reactive Programming techniques in order to more fully utilize a modern computer's multi-core CPU.
First, you will learn The Reactive Manifesto, the software industries de facto standard for Reactive Programming. Next, you will discover how the RxJava library can be leveraged to tame the difficult task of implementing asynchronous applications. Finally, you will explore how to apply Reactive Programming to modern day problems like network and database access.
When you’re finished with this course, you will have the skills and knowledge of Reactive Programming and the RxJava library needed to implement applications and services that exhibit the quality standard laid out in the Reactive Manifesto.
Table of contents
- Version Check 0m
- Module Overview 1m
- The Reactive Manifesto 2m
- Event Driven Applications 1m
- The Observer Pattern 1m
- Composing Observables 3m
- Improved Performance with Concurrency 1m
- Improved Performance with Concurrency, Part 2 1m
- Resilient Applications 2m
- Responsive Applications 3m
- Observable Events and Cardinality 3m
- Demo: Observable Creation and Events 3m
- Demo: Observable Cardinality 4m
- Observable Lifecycle and Error Handling 4m
- Demo: Observable Lifecycle 2m
- Demo: Observable Error Handling 2m
- Demo: Unsubscribing from an Observable 2m
- Backpressure and Flowables 3m
- Demo: Backpressure and Flowables 5m
- Module Overview 0m
- Cold vs. Hot Observables 2m
- Demo: Simple Observable Creation Methods 5m
- Creating Observables Using "generate" 3m
- Cold vs. Hot Observables 5m
- Marble Diagrams 1m
- Stream Filter Operators 4m
- Demo: Stream Filter Operators 5m
- Positional Operators 3m
- Demo: Positional Operators 4m
- Time-based Operators 1m
- Demo: Time-based Operators 3m
- Module Overview, Controlling Concurrency 3m
- Demo: Controlling Concurrency 3m
- Transformation Operations: Zip, Map, and FlatMap 2m
- Demo: Transformation Operations: Zip, Map, and FlatMap 5m
- Transformation Operations: Collect and Scan 1m
- Demo: Transformation Operations: Collect and Scan 6m
- Transformation Operations: GroupBy and Buffer 1m
- Demo: Transformation Operations: GroupBy and Buffer 4m
- Module Overview, Connectable Observables 3m
- Demo: Connectable Observables: Share and RefCount 5m
- Resource Management 1m
- Demo: Resource Management 6m
- Event Driven Programming 6m
- Subjects 3m
- Demo: Event Driven Programming and Subjects 4m
- Demo: Event Driven Programming and Subjects, Part 2 6m
- Demo: Event Driven Programming and Subjects, Part 3 5m
- Module Overview, Network Communications 4m
- Demo: Asynchronous Networking and Timeouts 10m
- Demo: Asynchronous Networking and Timeouts, Part 2 2m
- Database Interaction 5m
- Demo: Handling Large Result Sets 7m
- Demo: Parallel Execution 4m
- Data Aggregation and Concurrent Data Processing 1m
- Demo: Service Aggregation 5m
- Demo: Service Aggregation, Part 2 5m