Developer, researcher, trainer. Forty years in computing. Co-author “Java Generics and Collections”, author “Mastering Lambdas”. Java Champion, JavaOne Rock Star (x3).
Did you ever asked yourself a question: What really happens when your Java program runs? After the transformation from Java source through bytecode and machine code to microcode, and the various optimizations that take place along the way, the instructions that are actually executed may be very different from what you imagined when you wrote the program. This session shows you tools and techniques for tracing that path. You’ll see what a simple program actually looks like when it really hits the hardware.
For streams to do useful work, they must end in a terminal operation. Most often that will be a collector, a new kind of operation invented for the Streams API. To use streams effectively, you need to understand how collectors work, what predefined collectors are available, and the factors that affect collector performance. This deep dive into the Collectors API explores the many predefined collectors and how to combine them for added power. You’ll do practical work, learning how to choose the right composition of collectors to solve practical programming problems. And you’ll see the difference between collection and reduction, how to recognize when you need to write your own collector, and the principles and rules for doing that.