Speaker Details

Piotr Przybyl
Elastic

Notorious engineer at work and after hours, tracing meanders of the art of software engineering. Remote Software Gardener, mostly working in web-oriented Java gardens. Java Champion. Testcontainers Champion. Programming usually in Java, Scala and Go, but in other languages too. Fan of agility, seen mostly as choosing the right tools and approaches after asking the right questions. Developer, trainer and conference speaker. In his talks, Piotr covers not only hardcore Java but also software architecture, computer security, and soft-skills.

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.

More
ES|QL FTW!
Tools-in-Action (INTERMEDIATE level)

NoSQL for years was associated with JSON. The thing is: if you're a hardcore backend Java developer, JSON, YAML, and other data formats might not feel native to you. Also, if you were ears-deep into debugging a query from Java code, sending the same request for visualization in Kibana using KQL wasn't trivial. Meet ES|QL: Elasticsearch's new query language, being at first glance a mixture of SQL and... Bash 😉 Works the same in Java and Kibana (and other programming languages too!) Additionally, by leveraging Project Valhalla and vector operations, ES|QL can achieve performance improvements over previous solutions. If you're eager to investigate the options of the ES|QL and how it makes your life easier (while also giving a feel of being a SQL DB), this talk is for you.

More

Searching for speaker images...