By now Java 8’s features are well understood. But best practices are still forming. Did you ever wonder …
* … how to create a “lambda-enabled” API?
* … whether your methods should return or even accept streams and how that might impact your design?
* … how to write readable stream pipelines, especially when exceptions are involved?
* … how to estimate and examine stream performance?
* … about the details of and opinions on Optional?
* … how to use default methods to evolve interfaces without breaking client code?
This talk will discuss these and other advanced topics of Java 8, so you can get the best out of its awesome features.