https://github.com/lianglliu/rxjava
RsJava Demo
https://github.com/lianglliu/rxjava
rxjava
Last synced: 9 months ago
JSON representation
RsJava Demo
- Host: GitHub
- URL: https://github.com/lianglliu/rxjava
- Owner: LiangLliu
- Created: 2022-01-16T14:32:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-08-18T05:49:21.000Z (10 months ago)
- Last Synced: 2025-09-07T06:02:39.135Z (9 months ago)
- Topics: rxjava
- Language: Java
- Homepage:
- Size: 190 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RxJava 学习项目
包含**自定义RxJava实现**和**官方RxJava示例**的学习项目,通过源码分析和实际应用深入理解响应式编程。
## 🚀 快速开始
```bash
# 编译项目
./gradlew build
# 运行主程序
./gradlew run
```
运行后选择对应的数字即可体验不同的示例:
```
📚 RxJava学习内容:
=== 🎯 官方RxJava 3.1.11 示例 ===
1. 🎯 基础概念示例
2. ⚡ 创建操作符示例
3. 🔄 转换操作符示例
4. 🔍 过滤操作符示例
5. 🤝 组合操作符示例
6. 🧵 线程调度示例
7. 🛡️ 错误处理示例
=== 🔧 自定义RxJava实现 ===
8. 🏗️ 自定义实现演示
0. 🚪 退出程序
```
## 📖 学习内容
### 🏗️ 自定义RxJava实现
通过自定义实现源码理解RxJava工作原理:
- **Observable核心设计**: 响应式流的核心抽象
- **操作符实现**: Create、Map、FlatMap等操作符的内部实现
- **线程调度**: MainScheduler、IOScheduler、ComputationScheduler的设计
- **链式调用**: 操作符链式调用的实现机制
### 🎯 操作符示例
实际应用场景的操作符使用:
- **创建操作符**: create、just、fromArray、range等
- **转换操作符**: map、flatMap、scan等
- **过滤操作符**: filter、distinct、take、skip等
- **组合操作符**: merge、zip、concat等
- **工具操作符**: delay、timeout、retry等
### 🧵 线程调度
线程切换和调度器使用:
- `subscribeOn()` vs `observeOn()` 的区别
- `Schedulers.io()` - IO密集型操作
- `Schedulers.computation()` - CPU密集型操作
- 多级线程切换的实现
---
**Happy Learning with RxJava! 🚀**