Krakow, Poland, 19 - 21 June 2024
Streams were a very nice addition to Java 8, based on lambdas. They allow streamlined data processing without side effects, taking us gently towards functional style. With newer additions to Java, like records and pattern matching, they shine even more in data-driven flows.
However, they don’t come without flaws.
For starters, the only available extension point was collectors: if your needs for gathering data weren’t satisfied by the whole Collectors ZOO, you could always fall back to creating your own Collector. However, if map, filter or flatMap weren’t enough, you couldn’t add your own intermediate operation.
Secondly, parallel streams were limited to ForkJoin pool, effectively rendering them unusable for scenarios involving any IO.
Since Java 22, Stream Gatherers are our extension point for intermediate operations in streams.
If you’d like to comprehend how they work, find nice use cases and hunt for more performance, this talk is for you.
However, they don’t come without flaws.
For starters, the only available extension point was collectors: if your needs for gathering data weren’t satisfied by the whole Collectors ZOO, you could always fall back to creating your own Collector. However, if map, filter or flatMap weren’t enough, you couldn’t add your own intermediate operation.
Secondly, parallel streams were limited to ForkJoin pool, effectively rendering them unusable for scenarios involving any IO.
Since Java 22, Stream Gatherers are our extension point for intermediate operations in streams.
If you’d like to comprehend how they work, find nice use cases and hunt for more performance, this talk is for you.
Ticket prices will go up in...
176
Days
:
11
Hours
:
55
Minutes
:
02
Seconds
You missed out!
Venue address
ICE Krakow, ul. Marii Konopnickiej 17
Phone
+48 691 793 877
info@devoxx.pl