~/talk

Stream Gatherers - Deep Dive with the Expert

Talkat JavaOne 2025 · 2025-03-18..03-20· [java]
slides:none on file

Announces a concrete API, JEP 485, added as final in Java 24: java.util.stream.Gatherers that lets users write true intermediate stream operations instead of fake workarounds. Demonstrates working implementations for map, mapMulti, limit, scan, fixed-size windows and mapConcurrent, shows how sequential vs parallel evaluation and short‑circuiting are handled, and how gatherers compose. Explains runtime model (initializer → integrator → finisher → downstream), parallel tree splitting and cancellation, and confirms the design runs and supports stateful, stateless, frugal and composable transforms.

AI-written summary · about

  1. 0:00Intro
  2. 0:22Java Stream Anatomy
  3. 2:03Intermediate Stream Operation?
  4. 2:28Growing an API
  5. 9:08Evaluating Collector against the requirements
  6. 10:29Stream Gatherers
  7. 12:37Gatherers vs. Collectors
  8. 15:20Example - Stream::map as a Gatherer
  9. 17:20Example - Stream::mapMulti as a Gatherer
  10. 18:08Example - Stream::limit as a Gatherer
  11. 21:21Sequential vs. Parallel Evaluation
  12. 29:16Some of the available java.util.stream.Gatherers
  13. 33:25A note on composition
  14. 35:44Conclusions
  15. 36:45Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.