
Java 8 Lambdas
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Intro
- Copyright
- Table of Contents
- Preface
- Why Should I Read This Book?
- Who Should Read This Book?
- How to Read This Book
- Conventions Used in This Book
- Using Code Examples
- Safari® Books Online
- How to Contact Us
- Acknowledgments
- Chapter 1. Introduction
- Why Did They Need to Change Java Again?
- What Is Functional Programming?
- Example Domain
- Chapter 2. Lambda Expressions
- Your First Lambda Expression
- How to Spot a Lambda in a Haystack
- Using Values
- Functional Interfaces
- Type Inference
- Key Points
- Exercises
- Chapter 3. Streams
- From External Iteration to Internal Iteration
- What's Actually Going On
- Common Stream Operations
- collect(toList())
- map
- filter
- flatMap
- max and min
- A Common Pattern Appears
- reduce
- Putting Operations Together
- Refactoring Legacy Code
- Multiple Stream Calls
- Higher-Order Functions
- Good Use of Lambda Expressions
- Key Points
- Exercises
- Advanced Exercises
- Chapter 4. Libraries
- Using Lambda Expressions in Code
- Primitives
- Overload Resolution
- @FunctionalInterface
- Binary Interface Compatibility
- Default Methods
- Default Methods and Subclassing
- Multiple Inheritance
- The Three Rules
- Tradeoffs
- Static Methods on Interfaces
- Optional
- Key Points
- Exercises
- Open Exercises
- Chapter 5. Advanced Collections and Collectors
- Method References
- Element Ordering
- Enter the Collector
- Into Other Collections
- To Values
- Partitioning the Data
- Grouping the Data
- Strings
- Composing Collectors
- Refactoring and Custom Collectors
- Reduction as a Collector
- Collection Niceties
- Key Points
- Exercises
- Chapter 6. Data Parallelism
- Parallelism Versus Concurrency
- Why Is Parallelism Important?
- Parallel Stream Operations
- Simulations
- Caveats
- Performance
- Parallel Array Operations
- Key Points
- Exercises
- Chapter 7. Testing, Debugging, and Refactoring
- Lambda Refactoring Candidates
- In, Out, In, Out, Shake It All About
- The Lonely Override
- Behavioral Write Everything Twice
- Unit Testing Lambda Expressions
- Using Lambda Expressions in Test Doubles
- Lazy Evaluation Versus Debugging
- Logging and Printing
- The Solution: peek
- Midstream Breakpoints
- Key Points
- Chapter 8. Design and Architectural Principles
- Lambda-Enabled Design Patterns
- Command Pattern
- Strategy Pattern
- Observer Pattern
- Template Method Pattern
- Lambda-Enabled Domain-Specific Languages
- A DSL in Java
- How We Got There
- Evaluation
- Lambda-Enabled SOLID Principles
- The Single Responsibility Principle
- The Open/Closed Principle
- The Dependency Inversion Principle
- Further Reading
- Key Points
- Chapter 9. Lambda-Enabled Concurrency
- Why Use Nonblocking I/O?
- Callbacks
- Message Passing Architectures
- The Pyramid of Doom
- Futures
- Completable Futures
- Reactive Programming
- When and Where
- Key Points
- Exercises
- Chapter 10. Moving Forward
- Index
- About the Author
System requirements
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.