Jan Weinschenker

Side-by-Side: Reactive vs non-reactive Java

A single `subscribe()` call completely changes how your Java app runs. Learn how this reactive approach builds more resilient systems that can handle heavy loads.

Side-by-Side: Reactive vs non-reactive Java
#1about 6 minutes

Understanding the core principles of the reactive manifesto

Reactive systems are designed to be responsive, elastic, and resilient by using a message-driven architecture.

#2about 2 minutes

Visualizing blocking vs non-blocking request models

Sequence diagrams illustrate how non-blocking, fire-and-forget requests improve resource utilization compared to traditional blocking calls.

#3about 3 minutes

An analogy for reactive task distribution

A story about cleaning rooms illustrates how reactive programming breaks large workloads into small, independent tasks for efficient parallel execution.

#4about 2 minutes

Exploring reactive Java frameworks and adoption challenges

Despite numerous frameworks like WebFlux and RxJava, reactive programming faces a steep learning curve and debugging complexities.

#5about 3 minutes

Live code demonstration of imperative Java

A walkthrough of a standard, non-reactive Java method shows a straightforward, blocking approach to fetching and processing API data.

#6about 3 minutes

Live code demonstration of reactive Java

The same API data fetching task is implemented using a reactive, stream-based approach with Spring WebFlux and Project Reactor's Flux.

#7about 3 minutes

Understanding the unique reactive debugging experience

Debugging reactive code reveals its declarative nature, where execution is non-linear and only begins after a subscription is made.

#8about 3 minutes

Q&A on Project Loom and integration challenges

The discussion covers whether Project Loom makes reactive programming obsolete and how to handle integration with non-reactive components like JDBC.

Related jobs
Jobs that call for the skills explored in this talk.

Software Engineer

tree-IT GmbH
Bad Neustadt an der Saale, Germany

Remote
Intermediate
Senior

Featured Partners

From learning to earning

Jobs that call for the skills explored in this talk.

android developer

android developer

yusuf
Andijan, Uzbekistan

Remote
Junior
CSS
Java
HTML
JavaScript
+1
Rust and GoLang

Rust and GoLang

NHe4a GmbH
Karlsruhe, Germany

Remote
55-65K
Intermediate
Senior
Go
Rust