






















Java 响应式编程(Reactive Programming)是一种基于事件驱动和异步数据流的编程范式,旨在通过非阻塞的方式高效处理数据流和异步操作。它的核心思想是响应变化(如数据更新、用户事件、网络请求等),并通过链式调用的方式组合异步操作
| 特性 | 传统编程 | 响应式编程 |
|---|---|---|
是一种理念:它定义了系统如何通过异步、非阻塞、事件驱动的方式响应变化(如用户请求、数据流、故障等)。
Flux(N元素流)和 Mono(0/1元素流)。map, filter, zip)。1、pom引入
<dependencies>
<!-- Reactor Core(响应式编程核心库) -->
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.6.5</version>
</dependency>
</dependencies>
import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; public class ReactiveDemo { public static void main(String[] args) { // 1. 创建一个包含 1, 2, 3 的 Flux 数据流 Flux<Integer> numbers = Flux.just(1, 2, 3) .log(); // 打印日志(观察数据流事件) // 2. 使用操作符处理数据流 Flux<String> processedStream = numbers .filter(n -> n % 2 == 0) // 过滤偶数 .map(n -> "Number: " + n) // 转换为字符串 .doOnNext(s -> System.out.println("Processed: " + s)); // 副作用操作 // 3. 订阅并消费数据流 processedStream.subscribe( item -> System.out.println("Received: " + item), // 处理数据 error -> System.err.println("Error: " + error), // 错误处理 () -> System.out.println("Stream completed") // 完成回调 ); // 保持主线程不退出(仅示例需要) try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。