
Modern Java in Action
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
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
- Collection API enhancements
- Refactoring, testing, and debugging
- Domain-specific languages using lambdas
PART 4 - EVERYDAY JAVA
- Using Optional as a better alternative to null
- New Date and Time API
- Default methods
- The Java Module System
PART 5 - ENHANCED JAVA CONCURRENCY
- Concepts behind CompletableFuture and reactive programming
- CompletableFuture: composable asynchronous programming
- Reactive programming
PART 6 - FUNCTIONAL PROGRAMMING AND FUTURE JAVA EVOLUTION
- Thinking functionally
- Functional programming techniques
- Blending OOP and FP: Comparing Java and Scala
- Conclusions and where next for Java
More details
Other editions
Additional editions

Persons
Alan Mycroft is Professor of Computer Science at the University of Cambridge, where he researches programming languages, their semantics, optimization and implementation. He is a co-founder and Trustee of the Raspberry Pi Foundation.
Mario Fusco is a senior software engineer at Red Hat working on Drools, the JBoss rule engine. He created the open source library lambdaj, an internal Java DSL for manipulating collections in a functional way.
Content
- Intro
- Copyright
- Brief Table of Contents
- Table of Contents
- Praise for the previous edition, Java 8 in Action, by Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft.
- Preface
- Acknowledgments
- About this book
- About the authors
- About the cover illustration
- Part 1. Fundamentals
- Chapter 1. Java 8, 9, 10, and 11: what's happening?
- Chapter 2. Passing code with behavior parameterization
- Chapter 3. Lambda expressions
- Part 2. Functional-style data processing with streams
- 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 programming with streams and lambdas
- Chapter 8. Collection API enhancements
- Chapter 9. Refactoring, testing, and debugging
- Chapter 10. Domain-specific languages using lambdas
- Part 4. Everyday Java
- Chapter 11. Using Optional as a better alternative to null
- Chapter 12. New Date and Time API
- Chapter 13. Default methods
- Chapter 14. The Java Module System
- Part 5. Enhanced Java concurrency
- Chapter 15. Concepts behind CompletableFuture and reactive programming
- Chapter 16. CompletableFuture: composable asynchronous programming
- Chapter 17. Reactive programming
- Part 6. Functional programming and future Java evolution
- Chapter 18. Thinking functionally
- Chapter 19. Functional programming techniques
- Chapter 20. Blending OOP and FP: Comparing Java and Scala
- Chapter 21. 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
- Index
- List of Figures
- List of Tables
- List of Listings
System requirements
File format: ePUB
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 (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
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.