Functional and Reactive Programming using RxJava 2 (TT3133)
Code:
TT3133
Duration:
3 Day
|
$2195
USD
|
Java 8 Concurrency and Reactive Programming using Project Reactor is a two-day, fast-paced coding course geared for experienced developers who have prior working knowledge of Java.
Throughout the course students learn the best practices for writing non-blocking applications in Java 8 using both the Java Concurrency Framework and the Reactor API. The course provides an in-depth view of the enhancements made to the Java Concurrency API in Java 8, allowing for the development of non-blocking asynchronous processes.
This course also covers Project Reactor. Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. Please note that this course is also available for RxJava.
This course is available in the following formats:
Duration: 3 Day
Duration: 3 Day
Call 800-798-3901 to enroll in this class! |
This skills-centric course is about 50% hands-on lab and 50% lecture, designed to train attendees in next-level Java development skills, coupling the most current, effective techniques with the soundest industry practices. Working within in a hands-on learning environment, guided by our expert team, attendees will explore:
- Explore Parallel programming in Java including coverage of multithreading and concurrency
- The asynchronous, non-blocking concurrency API introduced in Java 8
- Reactive Programming in Java using Project Reactor
- Understand event publishers and Subscribers
- Apply operators to Reactive events
- Understand the concept of Backpressure
- Properly handle exceptions in the reactive process
Session: Multithreading and Concurrency
Lesson: Introduction to Multithreading and Concurrency
- Principles of Multithreading
- The Thread class and Runnable interface
- Explore thread synchronization
- Introduce the Java Concurrency API
Lesson: Concurrent Java
- Thread management using Executors
- The common thread-pool
- Submitting and controlling asynchronous tasks
- Explore the locking API
- Lab: Working with Concurrent Java
Lesson: Non-blocking asynchronous tasks
- The CompletableFuture
- Define non-blocking processes
- Lab: CompletableFuture
Session: Project Reactor
Lesson: Introduction to Project Reactor
- Introduce the Reactor Building blocks
- Flux and Mono
- Creating observables
- Subscribing to a stream
Lesson: Reactive Operators
- Introduce Operators
- Show the use of RxMarbles (marble diagrams)
- Explain some commonly used operators
- Callback operators
Lesson: Schedulers (Multithreading)
- Thread usage of subscriber and consumer
- Using the subscribeOn method
- Introduce the Scheduler interface
- Using the observeOn method
Lesson: Backpressure
- Strategies for dealing with Backpressure
- reactive pull backpressure
- ConnectableFlux
- Throttling
Lesson: Exception Handling
- Handling errors in onError
- Exception handling strategies
- Using onErrorReturn or onErrorNext operators
- Using the retry operators
- The Global Error Handler
Session: Multithreading and Concurrency
Lesson: Introduction to Multithreading and Concurrency
- Principles of Multithreading
- The Thread class and Runnable interface
- Explore thread synchronization
- Introduce the Java Concurrency API
Lesson: Concurrent Java
- Thread management using Executors
- The common thread-pool
- Submitting and controlling asynchronous tasks
- Explore the locking API
- Lab: Working with Concurrent Java
Lesson: Non-blocking asynchronous tasks
- The CompletableFuture
- Define non-blocking processes
- Lab: CompletableFuture
Session: Project Reactor
Lesson: Introduction to Project Reactor
- Introduce the Reactor Building blocks
- Flux and Mono
- Creating observables
- Subscribing to a stream
Lesson: Reactive Operators
- Introduce Operators
- Show the use of RxMarbles (marble diagrams)
- Explain some commonly used operators
- Callback operators
Lesson: Schedulers (Multithreading)
- Thread usage of subscriber and consumer
- Using the subscribeOn method
- Introduce the Scheduler interface
- Using the observeOn method
Lesson: Backpressure
- Strategies for dealing with Backpressure
- reactive pull backpressure
- ConnectableFlux
- Throttling
Lesson: Exception Handling
- Handling errors in onError
- Exception handling strategies
- Using onErrorReturn or onErrorNext operators
- Using the retry operators
- The Global Error Handler
This hands-on course focuses on learning by doing, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.
This hands-on course focuses on learning by doing, combining expert lecture, practical demonstrations and group discussions with plenty of machine-based real-world programming labs and exercises. Student machines are required.
Java Developers, Application Developers, Software Developers, Full Stack Developers, Architects, Technical Managers.