Five decades working in IT: developer, designer, architect, manager, teacher, and author. Working with Java since 1.0. Author, Mastering Lambdas; co-author, Java Generics and Collections. Disorganises the unconference JAlba. Java Champion. Speaks at conferences a lot.
Java programmers ❤️ streams! They brought us at least some of the joys of functional programming: code that’s clear and elegant, and even, sometimes, performant. But how do they work? Many people don’t know, and that puts them in danger of writing code that seriously underperforms. In this talk we’ll look at the principles and some details of the implementation, and we’ll work out some useful principles about how – and even whether – to use streams in practice. The talk will be up to date with the new feature of Gatherers, revealing the mystery of the greedy flag.
You’ll come away from this talk with a new understanding of how streams work, the assumptions that underlie their design, and how you too can write stream code that both looks good and performs well.
Searching for speaker images...