Summary Manning's bestselling Java 8 book has been revised for Java 9! In Modern Java in Action, you'll build on your existing Java language skills with the newest features and techniques. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Modern applications take advantage of innovative designs, including microservices, reactive architectures, and streaming data. Modern Java features like lambdas, streams, and the long-awaited Java Module System make implementing these designs significantly easier. It's time to upgrade your skills and meet these challenges head on! About the Book Modern Java in Action connects new features of the Java language with their practical applications. Using crystal-clear examples and careful attention to detail, this book respects your time. It will help you expand your existing knowledge of core Java as you master modern additions like the Streams API and the Java Module System, explore new approaches to concurrency, and learn how functional concepts can help you write code that's easier to read and maintain. What's inside Thoroughly revised edition of Manning's bestselling Java 8 in Action New features in Java 8, Java 9, and beyond Streaming data and reactive programming The Java Module System About the Reader Written for developers familiar with core Java features. About the Author Raoul-Gabriel Urma is CEO of Cambridge Spark. Mario Fusco is a senior software engineer at Red Hat. Alan Mycroft is a University of Cambridge computer science professor; he cofounded the Raspberry Pi Foundation. Table of Contents PART 1 - FUNDAMENTALS Java 8, 9, 10, and 11: what's happening? Passing code with behavior parameterization Lambda expressions PART 2 - FUNCTIONAL-STYLE DATA PROCESSING WITH STREAMS Introducing streams Working with streams Collecting data with streams Parallel data processing and performance PART 3 - EFFECTIVE PROGRAMMING WITH STREAMS AND LAMBDAS Collectio
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
Tip the Site
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat Pay
Alipay
Open WeChat or Alipay and scan. No login required.
AI guide
【One-Line Pitch】
A practical, example-driven guide to writing modern Java with lambdas, the Streams API, and functional-style design. Best for developers who already know core Java and want to move beyond loops and anonymous classes toward clearer, more maintainable, and more parallel-friendly code.
【Book Arc】
- **Opening (~0%–10%)**: Sets the stage by surveying what Java 8, 9, 10, and 11 changed and why those changes matter for multicore, streaming, and maintainable code.
- **Early (~10%–35%)**: Builds the foundation of functional Java: behavior parameterization, lambda expressions, functional interfaces, method and constructor references, and the target-typing rules that make them work.
- **Middle (~35%–55%)**: Introduces streams as internal iteration, then develops filtering, mapping, flatMap, matching, finding, reducing, and numeric stream handling through concrete menu/transaction examples.
- **Late (~55%–80%)**: Moves into effective stream practice: collectors, grouping and partitioning, parallel data processing and performance, and the default methods that make library evolution possible.
- **Ending (~80%–100%)**: Extends beyond Java 8 into newer language and platform features, including the Java Module System, concurrency alternatives, and reactive/streaming approaches. The excerpts do not cover the final chapters in detail.
【Key Takeaways】
- **Behavior parameterization is the conceptual hinge of the book** (Early): it explains why passing code as data replaces duplicated filtering methods and sets up lambdas as the practical syntax for that idea.
- **Lambdas are only meaningful in the context of a functional interface** (Early): the book stresses target typing and function descriptors, so you learn not just syntax but how the compiler decides whether a lambda is valid.
- **Method and constructor references are concise reuse tools** (Early): `ClassName::new` and existing method references let you pass implementations without rewriting them, which matters for clean API design.
- **Streams replace external iteration with internal iteration** (Middle): instead of managing loops yourself, you declare what should happen—filter, map, limit, collect—and the library handles traversal.
- **flatMap is the key operation for flattening nested structures** (Middle): the book’s pair-generation examples show how to avoid `Stream<Stream<...>>` and produce a single useful stream.
- **Collectors turn stream pipelines into practical results** (Late): grouping, partitioning, and collecting by currency or category show how streams connect to real reporting and data-shaping tasks.
- **Parallelism is a design decision, not a free speedup** (Late): the book connects streams to multicore processing and performance, warning that parallel data processing needs care.
- **Modern Java extends beyond Java 8** (Ending): the module system, newer concurrency approaches, and reactive/streaming ideas are presented as the next step after mastering lambdas and streams.
【Reading Tips】
- Deep-read the early lambda and functional-interface chapters; they are the vocabulary for everything later.
- Skim the opening Java-version survey if you already know Java 8 history, but return to it for the “why” behind parallelism and conciseness.
- Work through the stream examples actively—especially flatMap, matching, and collectors—because the book teaches by incremental code transformation.
- Treat the later module-system and reactive material as orientation; use it to decide which topics deserve a dedicated follow-up.
- Keep a mental checklist of when to use streams versus collections, and when parallel streams are worth the risk.
【Coverage Limits】
This guide is based on stratified excerpts covering roughly the first half to two-thirds of the book, with the strongest detail on lambdas, functional interfaces, and stream operations. The later chapters on modules, concurrency, and reactive programming are only lightly represented, so specifics there are not fully covered.
Excerpt 1
RT 1 - FUNDAMENTALS Java 8, 9, 10, and 11: what's happening? Passing code with behavior parameterization Lambda expressions PART 2 - FUNCTIONAL-STYLE DATA PR...
arly, many companies use computing clusters (computers con- nected together with fast networks) to be able to process vast amounts of data efficiently. Java...
discussion about functional interfaces and lambdas, table 3.3 pro- vides a summary of use cases, examples of lambdas, and functional interfaces that can be u...
predicate?” For example, you can use it to find out whether the menu has a vegetarian option: 118 CHAPTER 5 Working with streamsTrader and Transaction are cl...
n the former examples. You could also use a third Collector in combination with the groupingBy to perform a flatMap transformation instead of a plain map. To...
have to wait for the other one to complete before starting. The invoke method of a ForkJoinPool shouldn’t be used from within a RecursiveTask. Instead, you s...
ituation can be problematic. Suppose that you’ve declared a functional interface with the same signature as Runnable, here called Task (as might occur when y...
.setType(buy); trade.setStock(stock); trade.setPrice(price); return trade; } A dummy method to define the unit price public static double at(double price) {...
Support this siteYour recognition and a small knowledge-service contribution help keep this technical work open source.
Scan the WeChat Pay or Alipay code below. Logged-in and guest visitors can both tip.
WeChat PayAlipay
Open WeChat or Alipay and scan. No login required.
Add Tag
Enter tag name (max 50 characters)
Share E-Book
Modern Java in Action Lambdas, streams, functional and reactive programming (Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft)(Z-Library)
Scan QR code with your phone to access
Copy the link or scan the QR code to access this e-book on your phone
Share E-Book via Email
Please enter email address
Donation Statistics
¥.00
Total Donations
0
Donation Count
Modern Java in Action Lambdas, streams, functional and reactive programming (Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft)(Z-Library)
Find Your Favorite Books
Only registered users can comment after logging in. Comments need to be reviewed by administrators before being displayed
Loading comments...
Reply to Comment
Edit Comment