Java 8 in Action: Lambdas, Streams, and functional-style programming by Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft
2014 | ISBN: 1617291994 | English | 424 pages | EPUB | 6 MB
2014 | ISBN: 1617291994 | English | 424 pages | EPUB | 6 MB
Every new version of Java is important, but Java 8 is a game changer. Java 8 in Action is a clearly written guide to the new features of Java 8. It begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API.
This book is written for programmers familiar with Java and basic OO programming.
What's Inside
How to use Java 8's powerful new features
Writing effective multicore-ready applications
Refactoring, testing, and debugging
Adopting functional-style programming
Quizzes and quick-check questions
About the Authors
Raoul-Gabriel Urma is a software engineer, speaker, trainer, and PhD candidate at the University of Cambridge. Mario Fusco is an engineer at Red Hat and creator of the lambdaj library. Alan Mycroft is a professor at Cambridge and cofounder of the Raspberry Pi Foundation.
PART 1 FUNDAMENTALS
Java 8: why should you care?
Passing code with behavior parameterization
Lambda expressions
PART 2 FUNCTIONAL-STYLE DATA PROCESSING
Introducing streams
Working with streams
Collecting data with streams
Parallel data processing and performance
PART 3 EFFECTIVE JAVA 8 PROGRAMMING
Refactoring, testing, and debugging
Default methods
Using Optional as a better alternative to null
CompletableFuture: composable asynchronousprogramming
New Date and Time API
PART 4 BEYOND JAVA 8
Thinking functionally
Functional programming techniques
Blending OOP and FP: comparing Java 8 and Scala
Conclusions and where next for Java
APPENDIXES
Miscellaneous language updates
Miscellaneous library updates
Performing multiple operations in parallelon a stream
Lambdas and JVM bytecode
Java 8: why should you care?
Passing code with behavior parameterization
Lambda expressions
PART 2 FUNCTIONAL-STYLE DATA PROCESSING
Introducing streams
Working with streams
Collecting data with streams
Parallel data processing and performance
PART 3 EFFECTIVE JAVA 8 PROGRAMMING
Refactoring, testing, and debugging
Default methods
Using Optional as a better alternative to null
CompletableFuture: composable asynchronousprogramming
New Date and Time API
PART 4 BEYOND JAVA 8
Thinking functionally
Functional programming techniques
Blending OOP and FP: comparing Java 8 and Scala
Conclusions and where next for Java
APPENDIXES
Miscellaneous language updates
Miscellaneous library updates
Performing multiple operations in parallelon a stream
Lambdas and JVM bytecode