Java 8 in Action: Lambdas, Streams, and functional-style programming
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.
- 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.
Table of Contents
Part 1. Fundamentals
Chapter 1. Java 8: why should you care?
Chapter 2. Passing code with behavior parameterization
Chapter 3. Lambda expressions
Part 2. Functional-style data processing
Chapter 4. Introducing streams
Chapter 5. Working with streams
Chapter 6. Collecting data with streams.
Chapter 7. Parallel data processing and performance
Part 3. Effective Java 8 programming
Chapter 8. Refactoring, testing, and debugging
Chapter 9. Default methods.
Chapter 10. Using Optional as a better alternative to null
Chapter 11. CompletableFuture: composable asynchronous programming
Chapter 12. New Date and Time API
Part 4. Beyond Java 8
Chapter 13. Thinking functionally
Chapter 14. Functional programming techniques
Chapter 15. Blending OOP and FP: comparing Java 8 and Scala.
Chapter 16. Conclusions and where next for Java
Appendix A. Miscellaneous language updates
Appendix B. Miscellaneous library updates
Appendix C. Performing multiple operations in parallel on a stream.
Appendix D. Lambdas and JVM bytecode