Official Source Map
Bản đồ nguồn chính thức dùng làm ground truth cho toàn bộ giáo trình và các review gate theo version.
1. Source policy
Ưu tiên tài liệu chính thức. Blog/community chỉ dùng để bổ sung kinh nghiệm, không dùng làm nguồn duy nhất cho contract/API semantics.
- Java: Oracle Java SE docs + OpenJDK/JEP.
- Reactive: reactive-streams.org.
- Reactor: projectreactor.io.
- Spring: docs.spring.io / spring.io.
- Vert.x: vertx.io.
2. Java Concurrency
- Java 25 — Thread API
- Java 25 — Executor
- Java 25 — ExecutorService
- Java 25 — ThreadPoolExecutor
- Java 25 — Virtual Threads guide
Điểm cần trích xuất: lifecycle, interrupt, executor contract, pool sizing/saturation, queue strategy, virtual-thread scheduling và adoption guidance.
3. Future / CompletableFuture
Điểm cần khóa: get() có thể block; CompletableFuture vừa là Future vừa là CompletionStage; non-async dependent action có thể chạy bởi thread hoàn tất stage; async method mặc định thường dùng common pool nếu không truyền Executor.
4. Java NIO
Điểm cần học: Selector multiplex nhiều channel; channel đăng ký với selector sinh ra SelectionKey; interest set và ready set giúp event loop biết operation nào sẵn sàng.
5. Reactive Streams
Baseline: 1.0.4. Tập trung vào Publisher, Subscriber, Subscription, Processor, serial signaling, demand và backpressure.
6. Project Reactor
Baseline family: Reactor Core 3.8.x. Map các nhóm: Mono/Flux, operators, scheduler, error handling, Context, backpressure, testing, debugging.
7. Spring WebFlux
Baseline: Spring Framework 7.0.x stable, Spring Boot 4.1.x stable. WebFlux là reactive web stack, fully non-blocking và hỗ trợ Reactive Streams backpressure.
8. Vert.x
Baseline: Vert.x 5.1.x; patch hiện hành tại thời điểm source mapping là 5.1.7. Ưu tiên VerticleBase, Future-based API và tài liệu Vert.x 5.
9. Source-to-chapter matrix
| Epic/Part | Primary official source | Review gate |
|---|---|---|
| Concurrency | Java SE 25 API + Virtual Threads guide | Thread semantics chính xác |
| CompletableFuture | Future / CompletionStage / CompletableFuture API | Threading + exception semantics |
| NIO/Event Loop | Selector / Channel / SelectionKey | Không mô tả Selector như “async thread” |
| Reactive Streams | Reactive Streams 1.0.4 | Protocol/backpressure đúng spec |
| Reactor | Reactor 3.8.x reference | Operator/scheduler semantics |
| WebFlux | Spring Framework 7.0.x docs | Không dùng API deprecated |
| Vert.x | Vert.x 5.1.x manual/API | Không dạy callback model cũ làm mặc định |