Modern Java in Action - Raoul-Gabriel Urma, Alan Mycroft & Mario Fusco

Modern Java in Action

By Raoul-Gabriel Urma, Alan Mycroft & Mario Fusco

  • Release Date: 2018-09-26
  • Genre: Programming

Description

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
• 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