Java Closures and Lambda

Java Closures and Lambda

by Robert Fischer
     
 

Java Closures and Lambda introduces you to significant new changes to the Java language coming out of what is termed Project Lambda. These new changes make their debut in Java 8, and their highlight is the long-awaited support for lambda expressions in the Java language. You’ll learn to write lambda expressions and use them to create functional

Overview

Java Closures and Lambda introduces you to significant new changes to the Java language coming out of what is termed Project Lambda. These new changes make their debut in Java 8, and their highlight is the long-awaited support for lambda expressions in the Java language. You’ll learn to write lambda expressions and use them to create functional interfaces and default methods for evolving APIs, among many other uses.

The changes in Java 8 are significant. Syntax and usage of the language are changed considerably with the introduction of closures and lambda expressions. This book takes you through these important changes from introduction to mastery. Through a set of clear examples, you’ll learn to refactor existing code to take advantage of the new language features. You’ll learn what those features can do for you, and when they are best applied. You’ll learn to design and write new code having these important new features in mind from the very beginning.

  • Clearly explains the fantastic benefits resulting from Project Lambda
  • Explains the syntax and IDE support for the new features
  • Shows how to streamline your code by bringing some of the benefits of functional programming to the Java language
  • Illustrates parallelism in closures through Stream and Spliterator objects
  • Explains API evolution by adding methods to existing interfaces without breaking existing interface implementations, a technique addressing potential multiple inheritance issues

What you’ll learn

  • Encapsulate key bits of logic into anonymous functions without the need for anonymous classes
  • Define closures to be used as generators of comparison functions
  • Define map, filter, and reduce functions that are useful in working with lists and other collections
  • Trap and handle exceptions involving lambdas and closures, including the passing of exception-type parameters
  • Anticipate and provide for concurrency so that your code successfully scales across multiple CPU cores
  • Refactor existing code to take advantage of newly-possible closures and lambda expressions

Who this book is for

This book is aimed at Java developers interested in keeping up with the latest developments in the language. The book is of particular interest to those wanting to produce shorter and more readable code by taking advantage of language enhancements coming out of Project Lambda.

Table of Contents

Chapter 1: Java 8: It’s a Whole New Java

Chapter 2: Understanding Lambdas in Java 8

Chapter 3: Lambda’s Domain: Collections and Streams

Chapter 4: File I/O with Lambdas

Chapter 5: Data Access with Lambdas

Chapter 6: Lambda Concurrency

Chapter 7: Legacy to Lambdas

Chapter 8: Lambdas in Java ByteCode

Appendix A: Contrasting Paradigms

Product Details

ISBN-13:
9781430259985
Publisher:
Apress
Publication date:
03/04/2015
Edition description:
2015
Pages:
220
Product dimensions:
7.01(w) x 10.00(h) x 0.02(d)

Related Subjects

Meet the Author

Robert Fischer is a software developer, open source software contributor, technical commentator, and engineering manager. He has consulted, written, and spoken broadly on technical topics including concurrency, JVM bytecode, Groovy, Grails, and Gradle, and functional programming. Robert has a Masters of Divinity degree from Duke University, works as the VP of Engineering at Webonise Lab, and lives in Durham, North Carolina with his wife, dog, and baby girl.

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >