Module 02 · Completed

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

Đ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/PartPrimary official sourceReview gate
ConcurrencyJava SE 25 API + Virtual Threads guideThread semantics chính xác
CompletableFutureFuture / CompletionStage / CompletableFuture APIThreading + exception semantics
NIO/Event LoopSelector / Channel / SelectionKeyKhông mô tả Selector như “async thread”
Reactive StreamsReactive Streams 1.0.4Protocol/backpressure đúng spec
ReactorReactor 3.8.x referenceOperator/scheduler semantics
WebFluxSpring Framework 7.0.x docsKhông dùng API deprecated
Vert.xVert.x 5.1.x manual/APIKhông dạy callback model cũ làm mặc định