|Java 8 in Action
Lambdas, Streams, and functional-style programming
Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft
MEAP Began: November 2013
Softbound print: Fall 2014 (est.) | 375 pages
|Order now and start reading Java 8 in Action today through MEAP|
|MEAP + eBook only - $39.99|
|MEAP + Print book (includes eBook) when available - $49.99|
|* For more information, please see the MEAP FAQs page.|
|About MEAP Release Date Estimates|
Table of Contents, MEAP Chapters & Resources
|Table of Contents||Resources|
PART I: FUNDAMENTALS
1 Java 8: why should you care? - FREE
2 Passing code with behavior parameterization - AVAILABLE
3 Lambda expressions - AVAILABLE
PART II: FUNCTIONAL-STYLE DATA PROCESSING
4 Processing data with streams - AVAILABLE
5 Collecting data with streams - AVAILABLE
6 Parallel data processing and performance - AVAILABLE
PART III: EFFECTIVE JAVA 8 PROGRAMMING
7 Tools, testing, debugging
8 Default methods - AVAILABLE
9 Optional: a better alternative to null
10 CompletableFuture: composable asynchronous programming
PART IV: BEYOND JAVA 8
11 Functional programming: tying the pieces together
13 What the future holds
A New Java 8 time API
B Other Java 8 niceties
C How are lambdas implemented?
While the term "lambda expression" may sound abstract and academic, Java 8 Lambdas can have a big impact on how you program every day. In simplest terms, a lambda expression is a function—a bit of code—that you can pass to another method as an argument. Thus, you can cope with changing requirements 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 you 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. The book then introduces the Stream API and shows how it can make collections-related code radically easier to understand and maintain. Along the way, you'll discover new FP-oriented design patterns with Java 8 for code reuse, code readability, exception handling, data manipulation, and concurrency. For developers also exploring other functional languages on the JVM, the book concludes with a quick survey of useful functional features in Scala and Clojure.
- Complete coverage of Java 8 lambdas and the new Stream library
- Dozens of practical examples and code listings
- Essential functional programming idioms and how they relate to OOP patterns
- Coding for multi-core systems
- Easy data processing with Streams
- Includes quizzes and quick-check questions to keep you on track
Written for programmers familiar with Java and basic OO programming. No experience with Lambdas, functional programming, or Java 8 is required.
ABOUT THE AUTHORS
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.
You can follow Raoul and Mario on Twitter at @raoulUK and @mariofusco.
ABOUT THE EARLY ACCESS VERSION
This Early Access version of Java 8 in Action enables you to receive new chapters as they are being written. You can also interact with the authors to ask questions, provide feedback and errata, and help shape the final manuscript on the Author Online forum.
WANT TO LEARN MORE?
Sign up to read more content when it is released and to receive news about this book.