While the term "lambda expression" may sound abstract and academic, Java 8 Lambdas can have a big impact on every day programming. In simplest terms, a lambda expression is a function—a bit of code—that can be passed to another method as an argument. Thus, a requirement can be changed by using a behavior, represented by a lambda, as a parameter. Java 8's functional programming features, like lambdas and the new Stream API that enables a cleaner way to iterate through collections, can help programmers write concise, maintainable code that scales easily and performs well on multicore architectures.
Java 8 in Action is a clearly-written guide to Java 8 lambdas and functional programming in Java. It begins with a practical introduction to the structure and benefits of lambda expressions in real-world Java code and then introduces the Stream API, showing how it can make collections-related code radically easier to understand and maintain. It looks at new FP-oriented design patterns with Java 8 for code reuse, code readability, exception handling, data manipulation, and concurrency and concludes with a quick survey of useful functional features in Scala.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
Raoul-Gabriel Urma has worked as a software engineer for Oracle's Java Platform Group, Google's Python team, Ebay, and Goldman Sachs as well as for several startup projects. He's currently completing a PhD in Computer Science at the University of Cambridge and is a regular speaker and instructor.
Mario Fusco is a senior software engineer at Red Hat working on Drools, the JBoss rule engine. He created the open source library lambdaj, an internal Java DSL for manipulating collections in a functional way.
Alan Mycroft is Professor of Computer Science at the University of Cambridge, where he researches programming languages, their semantics, optimization and implementation. He is a co-founder and Trustee of the Raspberry Pi Foundation.