Sinks详解 Sinks 详解什么是 SinksSinks 是 Reactor 提供的”手动发送数据”的工具,让你可以在代码中主动 push 数据到响应式流中。 核心问题:Mono/Flux 的局限1234// Mono/Flux 通常是"被动"的 - 数据在创建时就确定了Mono.just("hello"); // 数据已确定Flux.fr 2026-01-10 Java > Spring > Reactive Streams #Java #Spring #ReactiveStreams #Reactor #Sinks #热流 #多播
ThreadLocal原理 ThreadLocal 原理概述ThreadLocal 提供线程本地变量,每个线程都有自己独立的变量副本,实现线程间数据隔离。 核心数据结构1234Thread └── ThreadLocalMap threadLocals └── Entry[] table └── Entry(ThreadLocal<?> key, Object value 2026-01-10 Java > 并发编程 > 基础知识 #Java #并发编程 #ThreadLocal #线程安全
Webflux简介 Webflux 简介什么是 Spring WebFluxSpring WebFlux 是 Spring Framework 5.0 引入的响应式 Web 框架,它是 Spring MVC 的替代方案,专为构建非阻塞、异步的 Web 应用程序而设计。 核心特点 非阻塞 I/O:基于事件驱动模型,不会阻塞线程等待 I/O 操作完成 响应式编程:基于 Reactive Streams 2026-01-10 Java > Spring > Webflux #Java #Spring #WebFlux #入门
WebFlux核心组件 WebFlux 核心组件注解式编程模型WebFlux 支持与 Spring MVC 类似的注解式编程,使用 @Controller 和 @RestController。 基本控制器12345678910111213141516171819202122232425262728293031323334353637@RestController@RequestMapping("/api/use 2026-01-10 Java > Spring > Webflux #Java #Spring #WebFlux #Controller #WebClient #WebFilter
Reactor API参考 Reactor API 参考Project Reactor 提供了丰富的操作符,本文按功能分类整理。 一、创建操作符Mono 创建 API 说明 示例 Mono.just(T) 创建包含单个值的 Mono Mono.just("hello") Mono.empty() 创建空的 Mono Mono.empty() Mono.error(Throwable) 2026-01-10 Java > Spring > Reactive Streams #Java #Spring #ReactiveStreams #Reactor #API #操作符
函数式端点 函数式端点什么是函数式端点函数式端点(Functional Endpoints)是 WebFlux 提供的另一种编程模型,使用函数式风格定义路由和处理器,相比注解式更加灵活。 核心组件 HandlerFunction:处理请求的函数,类似于 @RequestMapping 方法 RouterFunction:路由函数,将请求映射到 HandlerFunction HandlerFunctionH 2026-01-10 Java > Spring > Webflux #Java #Spring #WebFlux #函数式编程 #RouterFunction #HandlerFunction
响应式编程基础 响应式编程基础什么是响应式编程响应式编程(Reactive Programming)是一种面向数据流和变化传播的编程范式。它关注的是数据流的异步处理和事件驱动。 核心概念 数据流(Stream):数据以流的形式传递,而非一次性返回 异步(Asynchronous):操作不会阻塞当前线程 非阻塞(Non-blocking):线程不会等待 I/O 操作完成 背压(Backpressure): 2026-01-10 Java > Spring > Webflux #Java #Spring #ReactiveStreams #WebFlux #响应式编程
实战案例 实战案例项目结构123456789101112131415161718webflux-demo/├── src/main/java/com/example/demo/│ ├── DemoApplication.java│ ├── config/│ │ └── RouterConfig.java│ ├── controller/│ │ └── UserController 2026-01-10 Java > Spring > Webflux #Java #Spring #WebFlux #实战 #R2DBC #测试
源码解析 源码解析Mono.just() 源码分析从最简单的 Mono.just() 开始: 12Mono.just("Hello") .subscribe(System.out::println); 1. 创建 Mono12345678910111213// Mono.javapublic static <T> Mono<T> just(T data) 2026-01-10 Java > Spring > Reactive Streams #Java #Spring #ReactiveStreams #Reactor #源码 #设计模式
流合并与操作符链 流合并与操作符链水利系统比喻在学习 Reactor 时,可以用水利系统来理解: 12345678910111213141516171819202122232425262728┌──────────────────────────────────────────────────────────────┐│ Reactor 水利系统 2026-01-10 Java > Spring > Reactive Streams #最佳实践 #Java #Spring #ReactiveStreams #Reactor #merge #操作符 #concat #zip