Are you a programmer fluent in Java? It's time to take the next step! Almost 20 years after it's first version, there is a new Java with important news! Amongst the main new resources, there are the default methods, method references and lambdas. They are simple concepts, but bring important possibilities. In the book we will explore various advancements found in Java 8. Always using practical examples and presenting real usage cases, we migrate the day-to-day legacy code to the new Java 8 functional paradigm. With this triad of concepts, the API managed to evolve in an interesting manner. The java.util.stream and java.util.function packages are deeply explored, presenting simple ways to work with collections and other data structures. Streams and Collectors will be part of your routine and will become as essential as Collections and the java.io currently are to your applications. Lastly, we'll see how the new API java.time comes to change from water to wine the way how we work with dates and times.