Java 8 in Action: Lambdas,Streams,and functional-style programming
by: Raoul-Gabriel Urma – Mario Fusco – Alan Mycroft
ISBN-10: 1617291994
ISBN-13: 9781617291999
Edition 版次: 1
Publication Date 出版日期: August 28,2014
Print Length 页数: 424
Java 8 in Action is a clearly written guide to the new features of Java 8. The book covers lambdas,streams,and functional-style programming. With Java 8’s functional features you can now write more concise code in less time,and also automatically benefit from multicore architectures. It’s time to dig in!
Purchase of the print book includes a free eBook in PDF,Kindle,and ePub formats from Manning Publications.
About the Book
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.
Contents
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