Java 9 Modularity

Patterns and Practices for Developing Maintainable Applications

Author: Sander Mak,Paul Bakker

Publisher: "O'Reilly Media, Inc."

ISBN: 1491954116

Category: Computers

Page: 300

View: 6333

DOWNLOAD NOW »
The upcoming Java 9 module system will affect existing applications and offer new ways of creating modular and maintainable applications. With this hands-on book, Java developers will learn not only about the joys of modularity, but also about the patterns needed to create truly modular and reliable applications. Authors Sander Mak and Paul Bakker teach you the concepts behind the Java 9 module system, along with the new tools it offers. You’ll also gain learn how to modularize existing code and how to build new Java applications in a modular way. Understand Java 9 module system concepts Master the patterns and practices for building truly modular applications Migrate existing applications and libraries to Java 9 modules Use JDK 9 tools for modular development and migration

Java 9 Modularity

Patterns and Practices for Developing Maintainable Applications

Author: Sander Mak,Paul Bakker

Publisher: "O'Reilly Media, Inc."

ISBN: 1491954132

Category: Computers

Page: 300

View: 4731

DOWNLOAD NOW »
The upcoming Java 9 module system will affect existing applications and offer new ways of creating modular and maintainable applications. With this hands-on book, Java developers will learn not only about the joys of modularity, but also about the patterns needed to create truly modular and reliable applications. Authors Sander Mak and Paul Bakker teach you the concepts behind the Java 9 module system, along with the new tools it offers. You’ll also gain learn how to modularize existing code and how to build new Java applications in a modular way. Understand Java 9 module system concepts Master the patterns and practices for building truly modular applications Migrate existing applications and libraries to Java 9 modules Use JDK 9 tools for modular development and migration

Java 9 Modularity Revealed

Project Jigsaw and Scalable Java Applications

Author: Alexandru Jecan

Publisher: Apress

ISBN: 1484227131

Category: Computers

Page: 221

View: 7486

DOWNLOAD NOW »
Develop modular applications using the Java Platform Module System, the single most anticipated feature in Java 9. You will improve maintainability and performance of your Java applications by deploying only modules that are needed and encapsulating their implementation details. Until now Java has been monolithic. Using any one part of Java has meant incorporating the entirety of the runtime environment, an approach ill-suited to the increasing number of IoT devices such as fitness monitors, kitchen appliances, toys and games, and so forth. This book shows a new way, to make Java scale from the smallest of footprints in the smallest of devices through desktop PCs and on up to server platforms. With Java 9 Modularity Revealed you will learn to make your projects more reliable and scalable than ever using the most important feature in Java 9—The Java Platform Module System, known more commonly as Project Jigsaw. You will learn how to avoid one of the major pain points of Java programming, that of conflicting class names from different modules, or packages. You will learn to create custom run-time images that represent a minimal and more compact JRE containing only those modules that you need. You will further learn to migrate existing Java applications to modular ones using different approaches and tools. The end result is a new ability to plug together different modules without fear of namespace and other conflicts, and you can deploy to everything from small devices to large servers. This book provides code examples and explanations. What You'll Learn Build Java applications using the new modular system introduced in Java 9 Create your own JRE consisting only of the modules that you require Adapt your testing techniques toward modular applications lare your dependencies on other modules Enable modules to export only specific packages Migrate existing Java applications to modular ones Improve maintainability and performance of Java applications Who This Book Is For Experienced Java programmers wanting to keep up and become informed on the new modularity support in Java 9

Modular Programming in Java 9

Build large scale applications using Java modularity and Project Jigsaw

Author: Koushik Kothagal

Publisher: Packt Publishing Ltd

ISBN: 1787126277

Category: Computers

Page: 298

View: 5042

DOWNLOAD NOW »
Kick-start your modular programming journey and gear up for the future of Java development About This Book Master design patterns and best practices to build truly modular applications in Java 9 Upgrade your old Java code to Java 9 with ease Build and run a smooth functioning multi-module application. Who This Book Is For This book is written for Java developers who are interested in learning and understanding the techniques and best practices to build modular applications in Java. The book assumes some previous programming experience in Java 8 or earlier, familiarity with the basic Java types such as classes and interfaces, as well as experience in compiling and executing Java programs. What You Will Learn Get introduced to the concept of modules and modular programming by working on a fully modular Java application Build and configure your own Java 9 modules Work with multiple modules and establish inter-module dependencies Understand and use the principles of encapsulation, readability, and accessibility Use jlink to generate fully loaded custom runtime images like a pro Discover the best practices to help you write awesome modules that are a joy to use and maintain Upgrade your old Java code to use the new Java 9 module system In Detail The Java 9 module system is an important addition to the language that affects the way we design, write, and organize code and libraries in Java. It provides a new way to achieve maintainable code by the encapsulation of Java types, as well as a way to write better libraries that have clear interfaces. Effectively using the module system requires an understanding of how modules work and what the best practices of creating modules are. This book will give you step-by-step instructions to create new modules as well as migrate code from earlier versions of Java to the Java 9 module system. You'll be working on a fully modular sample application and add features to it as you learn about Java modules. You'll learn how to create module definitions, setup inter-module dependencies, and use the built-in modules from the modular JDK. You will also learn about module resolution and how to use jlink to generate custom runtime images. We will end our journey by taking a look at the road ahead. You will learn some powerful best practices that will help you as you start building modular applications. You will also learn how to upgrade an existing Java 8 codebase to Java 9, handle issues with libraries, and how to test Java 9 applications. Style and Approach The book is a step-by-step guide to understanding Modularity and building a complete application using a modular design.

Java 9 Cookbook

Solutions for Modular, Functional, Reactive, and Multithreaded programming

Author: Mohamed Sanaulla,Nick Samoylov

Publisher: Packt Publishing Ltd

ISBN: 1786464985

Category: Computers

Page: 624

View: 993

DOWNLOAD NOW »
A definitive guide to learning the key concepts of modern application development in Java About This Book Learn the latest features of Java 9 Extend your Java knowledge and take your application to new levels by making it fast, secure, and scalable Delve into the intricacies of Modular programming in Java 9 Who This Book Is For The book is for intermediate to advanced Java programmers who want to make their applications fast, secure, and scalable. What You Will Learn Set up JDK and know the differences in the JDK 9 installation Implement OO designs using classes and interfaces Manage operating system processes Understand the new modular JDK and modular programming Create a modular application with clear dependencies Build graphical user interfaces using JavaFX Use the new HTTP Client API Learn about the new diagnostic features in Java 9 See how to use the new jShell REPL tool Execute ES6-compliant JavaScript code from your Java applications In Detail Java is an object-oriented programming language. It is one of the most widely accepted languages because of its design and programming features, particularly in its promise that you can write a program once and run it anywhere. This cookbook offers a range of software development examples in simple and straightforward Java 9 code, providing step-by-step resources and time-saving methods to help you solve data problems efficiently. Starting with the installation of Java, each recipe addresses a specific problem, with a discussion that explains the solution and offers insight into how it works. We cover major concepts such as Project Jigsaw and various tools that will enable you to modularize your applications. You will learn new features in the form of recipes that will make your applications modular, secure, and fast. Style and approach Each recipe in this book contains a series of complete instructions to perform a core task, plus an explanation of the purpose behind it. Similar methods or further refinements are included with each recipe to provide comprehensive guidance.

Java 9

Building Robust Modular Applications

Author: Edward Lavieri,Peter Verhas,Jason Lee

Publisher: N.A

ISBN: 9781788832823

Category: Computers

Page: 910

View: 837

DOWNLOAD NOW »

Mastering Java 9

Write reactive, modular, concurrent, and secure code

Author: Dr. Edward Lavieri,Peter Verhas

Publisher: Packt Publishing Ltd

ISBN: 1786463822

Category: Computers

Page: 456

View: 3923

DOWNLOAD NOW »
Your road to becoming a Java Ninja begins here! About This Book This book will teach you to build highly scalable, fast, and secure applications It covers major concepts introduced with the new version of Java 9, which includes modular programming, HTTP 2.0, API changes, and more It will guide you with tools, techniques and best practices to enhance application development Who This Book Is For This book is for enterprise developers and existing Java developers. Basic knowledge of Java would help. What You Will Learn Write modular Java applications in terms of the newly introduced module system Migrate existing Java applications to modular ones Understand how to use the G1 garbage collector in order to leverage the performance of your applications Leverage the possibilities provided the newly introduced Java shell Test your application's effectiveness with the JVM harness See how Java 9 provides support for the http 2.0 standard Use the new process API Discover additional enhancements and features provided by Java 9 In Detail Java 9 and its new features add to the richness of the language, one of the languages most used by developers to build robust software applications. Java 9 comes with a special emphasis on modularity with its integration with Jigsaw. This would be your one-stop guide to mastering the language. You'll be provided with an overview and explanation of the new features introduced in Java 9 and the importance of the new APIs and enhancements. Some of the new features of Java 9 are ground-breaking and if you are an experienced programmer, you will be able to make your enterprise application leaner by learning these new features. You'll be provided with practical guidance in applying the newly acquired knowledge in regards to Java 9 and further information on future developments of the Java platform. This book will improve your productivity, making your application faster. By learning the best practices in Java, you'll become the “go-to” person in your organization. By the end of the book, you'll not only know the important concepts of Java 9, but you'll also have a nuanced understanding of the important aspects of programming with this great language. Style and approach Concepts and new terminology are explained in simple step-by-step manner. We cover a lot of real-world examples and case studies that will improve your Java productivity. This book covers new features on Java 9 and the much talked about Jigsaw integration.

Java 9 with JShell

Author: Gaston C. Hillar

Publisher: Packt Publishing Ltd

ISBN: 1787285197

Category: Computers

Page: 408

View: 7224

DOWNLOAD NOW »
Explore Java 9 with JShell and UML About This Book A full account of Java 9's new features This tutorial emphasises fluency using JShell exercises Get a thorough introduction to contract programming code reuse via Java generics Learn how to use the new module system How to use proper functional programming style inside Java 9 Who This Book Is For This book can be understood by anyone who is a graduate of computer science or someone who has just begun working as a software engineer. Basically, an understanding of an object-oriented programming language like Python, C++ or indeed, an earlier Java version is sufficient. It would be helpful to have participated in the full product cycle of a software engineering project. What You Will Learn Engage with object-oriented programming in Java 9, starting with code snippets in JShell Optimize your code, applying functional programming features Discover the advantages of modularity Become very proficient at using JShell itself Learn the new approach to Java programming, which uses the REPL as a prototyping tool In Detail The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java. Style and approach You will learn by doing: : using JShell as their prototyping environment, you will take full advantage of the new features of Java 9, in particular the full module system and the functional features of Java 9.. There won't be any theory, only small and medium-sized exampled enabling the reader to use the new Java features in professional software engineering projects.

Exploring Java 9

Build Modularized Applications in Java

Author: Fu Cheng

Publisher: Apress

ISBN: 1484233301

Category: Computers

Page: 174

View: 3870

DOWNLOAD NOW »
Discover all the new features and changes in Java 9, including module systems—JPMS or Project Jigsaw. This book covers the whole Java application development life cycle. You'll review all the important concepts, including module descriptor, unnamed module, automatic module, and command line tools. Exploring Java 9 also serves as a practical guide for migration to module systems. Code samples from real-world scenarios solidify a foundation for learning and development and allow you to apply best practices in actual development. Additionally, you'll learn about concurrency, ECMAScript 6 features in Nashorn and Parser API, stack-walking API, Stream and Optional, utilities classes, and I/O. And it’s now possible to build modularized applications in Java. You'll see how JPMS affects not only the JDK itself, but also applications that are developed upon it. What You'll Learn • Build modularized applications in Java • Migrate to module systems • Master enhanced method handles Who This Book Is ForJava developers with basic development skills

Java 9 Revealed

For Early Adoption and Migration

Author: Kishori Sharan

Publisher: Apress

ISBN: 1484225929

Category: Computers

Page: 521

View: 592

DOWNLOAD NOW »
Explore the new Java 9 modules, SDK, JDK, JVM, JShell and more in this comprehensive book that covers what’s new in Java 9 and how to use these new features. Java 9 Revealed is for experienced Java programmers looking to migrate to Java 9. Author Kishori Sharan begins by covering how to develop Java applications using the new module system introduced in Java 9 and how to use the JShell tool in Java 9 for prototyping, compiling and testing. The book provides extensive coverage of new Java 9 features, such as the new layout of the modular JDK/JRE runtime image, new convenience factory methods for creating collections, the new spin-wait hints introduced to improve performance of spin loops in your code, and the new Desktop API for implementing platform-specific desktop features. Along the way you will also learn how to use the Reactive Streams API in Java 9 and, most importantly, this book will show you the breaking changes in Java 9. What You'll Learn How JShell facilitates rapid development, code evaluation, and testing Discover what is new in the Process API Inspect a thread’s stack with the Stack-Walking API Use the jlink tool to create a custom runtime image Work with HTML5 Javadoc and use the new search feature in Javadoc Learn how to use new methods and collectors in the Streams API Learn how to create a custom logger to log messages from platform classes and how to use JVM logs Learn about new methods in the Optional class and how to use them Learn how to compare arrays and slices of arrays Learn how to use the enhanced try-with-resources blocks Make your object deserialization more secure by using object deserialization filters Who This Book Is For Experienced Java programmers and developers.

Java 9 Dependency Injection

Write loosely coupled code with Spring 5 and Guice

Author: Nilang Patel,Krunal Patel

Publisher: Packt Publishing Ltd

ISBN: 1788296478

Category: Computers

Page: 246

View: 8850

DOWNLOAD NOW »
Create clean code with Dependency Injection principles Key Features Use DI to make your code loosely coupled to manage and test your applications easily on Spring 5 and Google Guice Learn the best practices and methodologies to implement DI Write more maintainable Java code by decoupling your objects from their implementations Book Description Dependency Injection (DI) is a design pattern that allows us to remove the hard-coded dependencies and make our application loosely coupled, extendable, and maintainable. We can implement DI to move the dependency resolution from compile-time to runtime. This book will be your one stop guide to write loosely coupled code using the latest features of Java 9 with frameworks such as Spring 5 and Google Guice. We begin by explaining what DI is and teaching you about IoC containers. Then you’ll learn about object compositions and their role in DI. You’ll find out how to build a modular application and learn how to use DI to focus your efforts on the business logic unique to your application and let the framework handle the infrastructure work to put it all together. Moving on, you’ll gain knowledge of Java 9’s new features and modular framework and how DI works in Java 9. Next, we’ll explore Spring and Guice, the popular frameworks for DI. You’ll see how to define injection keys and configure them at the framework-specific level. After that, you’ll find out about the different types of scopes available in both popular frameworks. You’ll see how to manage dependency of cross-cutting concerns while writing applications through aspect-oriented programming. Towards the end, you’ll learn to integrate any third-party library in your DI-enabled application and explore common pitfalls and recommendations to build a solid application with the help of best practices, patterns, and anti-patterns in DI. What you will learn Understand the benefits of DI and fo from a tightly coupled design to a cleaner design organized around dependencies See Java 9’s new features and modular framework Set up Guice and Spring in an application so that it can be used for DI Write integration tests for DI applications Use scopes to handle complex application scenarios Integrate any third-party library in your DI-enabled application Implement Aspect-Oriented Programming to handle common cross-cutting concerns such as logging, authentication, and transactions Understand IoC patterns and anti-patterns in DI Who this book is for This book is for Java developers who would like to implement DI in their application. Prior knowledge of the Spring and Guice frameworks and Java programming is assumed.

The Java Module System

Author: Nicolai Parlog

Publisher: Pearson Professional

ISBN: 9781617294280

Category: Computers

Page: 400

View: 976

DOWNLOAD NOW »
The Java Module System, aka "Project Jigsaw," gives Java developers the ability to define and enforce modularity without an outside framework. In The Java Module System, readers will learn how the module system improves reliability and maintainability and can be used to reduce tight coupling of system components. They then discover how to build, compile, and run their own fully modular applications with best practices and expert techniques. Along the way, readers will also explore Java 9's compatibility challenges and how to migrate their application to the module system. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

Java 9 Programming By Example

Author: Peter Verhas

Publisher: Packt Publishing Ltd

ISBN: 1786464519

Category: Computers

Page: 504

View: 2223

DOWNLOAD NOW »
Get the steps you need to discover the world of Java 9 programming using real-world examples About This Book We bridge the gap between “learning” and “doing” by providing real-world examples that will improve your software development Our example-based approach will get you started quickly with software programming, get you up-to-speed with Java 9, and improve your Java skills This book will show you the best practices of Java coding and improve your productivity Who This Book Is For This book is for anyone who wants to learn the Java programming language. You are expected to have some prior programming experience with another language, such as JavaScript or Python, but no knowledge of earlier versions of Java is assumed. What You Will Learn Compile, package and run a trivial program using a build management tool Get to know the principles of test-driven development and dependency management Separate the wiring of multiple modules from the application logic into an application using dependency injection Benchmark Java execution using Java 9 microbenchmarking See the workings of the Spring framework and use Java annotations for the configuration Master the scripting API built into the Java language and use the built-in JavaScript interpreter Understand static versus dynamic implementation of code and high-order reactive programming in Java In Detail This book gets you started with essential software development easily and quickly, guiding you through Java's different facets. By adopting this approach, you can bridge the gap between learning and doing immediately. You will learn the new features of Java 9 quickly and experience a simple and powerful approach to software development. You will be able to use the Java runtime tools, understand the Java environment, and create Java programs. We then cover more simple examples to build your foundation before diving to some complex data structure problems that will solidify your Java 9 skills. With a special focus on modularity and HTTP 2.0, this book will guide you to get employed as a top notch Java developer. By the end of the book, you will have a firm foundation to continue your journey towards becoming a professional Java developer. Style and approach Throughout this book, our aim is to build Java programs. We will be building multiple applications ranging from simpler ones to more complex ones. Learning by doing has its advantages as you will immediately see the concepts explained in action.

Building Modular Cloud Apps with OSGi

Author: Paul Bakker,Bert Ertman

Publisher: "O'Reilly Media, Inc."

ISBN: 1449345131

Category: Computers

Page: 210

View: 8310

DOWNLOAD NOW »
If you’re an experienced Java developer in the enterprise, this practical, hands-on book shows you how to use OSGi to design, develop, and deploy modular cloud applications. You’ll quickly learn how to use OSGi, through concise code examples and a set of best practices derived from the authors’ experiences with real-world projects. Through the course of this book, you’ll learn to develop modern web applications with tools and techniques such as RESTful Web Services, NoSQL, provisioning, elasticity, Auto Scaling, hotfixes, and automatic failover. Code samples are available from GitHub. Work with dynamic OSGi services to create modular applications Explore the basics of OSGi bundles and modular application design Learn advanced topics, including semantic versioning, integration testing, and configuring components Understand OSGi pitfalls, anti-patterns, and features you should avoid Create a modular architecture for cloud-based web applications Discover how maintainability, extensibility, scalability, and testability are affected by modular design Get a look at various options for creating web applications with a modular approach Interact with persistent storage services, including relational databases and NoSQL Examine alternatives for deploying modular applications to the cloud

Java 9 Recipes

A Problem-Solution Approach

Author: Josh Juneau

Publisher: Apress

ISBN: 1484219767

Category: Computers

Page: 626

View: 7469

DOWNLOAD NOW »
Quickly find solutions to dozens of common programming problems encountered while building Java applications. Content is presented in the popular problem-solution format. Look up the programming problem that you want to resolve. Read the solution. Apply the solution directly in your own code. Problem solved! This revised edition covers important new features such as Java 9's JShell and the new modularity features enabling you to separate code into independent modules that perform discrete tasks. Also covered are the new garbage collection algorithm and completely revamped process API. Enhanced JSON coverage is provided as well as a new chapter on JavaServer Faces development for web applications. What You'll Learn Develop Java SE applications using the latest in Java SE technology Exploit advanced features like modularity and lambdas Use JShell to quickly develop solutions Build dynamic web applications with JavaScript and Project Nashorn Create great-looking web interfaces with JavaServer Faces Generate graphics and work with media such as sound and video Add internationalization support to your Java applications Who This Book Is For Both beginning Java programmers and advanced Java developers

Java Application Architecture

Modularity Patterns with Examples Using OSGi

Author: Kirk Knoernschild

Publisher: Prentice Hall

ISBN: 0132874741

Category: Computers

Page: 288

View: 633

DOWNLOAD NOW »
“I’m dancing! By god I’m dancing on the walls. I’m dancing on the ceiling. I’m ecstatic. I’m overjoyed. I’m really, really pleased.” –From the Foreword by Robert C. Martin (a.k.a. Uncle Bob) This isn’t the first book on Java application architecture. No doubt it won’t be the last. But rest assured, this title is different. The way we develop Java applications is about to change, and this title explores the new way of Java application architecture. Over the past several years, module frameworks have been gaining traction on the Java platform, and upcoming versions of Java will include a module system that allows you to leverage the power of modularity to build more resilient and flexible software systems. Modularity isn’t a new concept. But modularity will change the way we develop Java applications, and you’ll only be able to realize the benefits if you understand how to design more modular software systems. Java Application Architecture will help you Design modular software that is extensible, reusable, maintainable, and adaptable Design modular software today, in anticipation of future platform support for modularity Break large software systems into a flexible composite of collaborating modules Understand where to place your architectural focus Migrate large-scale monolithic applications to applications with a modular architecture Articulate the advantages of modular software to your team Java Application Architecture lays the foundation you’ll need to incorporate modular design thinking into your development initiatives. Before it walks you through eighteen patterns that will help you architect modular software, it lays a solid foundation that shows you why modularity is a critical weapon in your arsenal of design tools. Throughout, you’ll find examples that illustrate the concepts. By designing modular applications today, you are positioning yourself for the platform and architecture of tomorrow. That’s why Uncle Bob is dancing.

Core Java SE 9 for the Impatient

Author: Cay S. Horstmann

Publisher: Addison-Wesley Professional

ISBN: 0134694821

Category: Computers

Page: 576

View: 4352

DOWNLOAD NOW »
An Accessible Guide to the Java Language and Libraries Modern Java introduces major enhancements that impact the core Java technologies and APIs at the heart of the Java platform. Many old Java idioms are no longer needed and new features such as modularization make you far more effective. However, navigating these changes can be challenging. Core Java® SE 9 for the Impatient, Second Edition, is a complete yet concise guide that includes all the latest changes up to Java SE 9. Written by Cay S. Horstmann–author of the classic two-volume Core Java–this indispensable tutorial offers a faster, easier pathway for learning modern Java. Given Java SE 9’s size and the scope of its enhancements, there’s plenty to cover, but it’s presented in small chunks organized for quick access and easy understanding. Horstmann’s practical insights and sample code help you quickly take advantage of all that’s new, from Java SE 9’s long-awaited “Project Jigsaw” module system to the improvements first introduced in Java SE 8, including lambda expressions and streams. Use modules to simplify the development of well-performing complex systems Migrate applications to work with the modularized Java API and third-party modules Test code as you create it with the new JShell Read-Eval-Print Loop (REPL) Use lambda expressions to express actions more concisely Streamline and optimize data management with today’s Streams API Leverage modern concurrent programming based on cooperating tasks Take advantage of a multitude of API improvements for working with collections, input/output, regular expressions, and processes Whether you’re just getting started with modern Java or you’re an experienced developer, this guide will help you write tomorrow’s most robust, efficient, and secure Java code. Register your product at informit.com/register for convenient access to downloads, updates, and/or corrections as they become available.

Modular Java

Creating Flexible Applications with OSGi and Spring

Author: Craig Walls

Publisher: N.A

ISBN: 9781934356401

Category: Computers

Page: 240

View: 7811

DOWNLOAD NOW »
Provides information on developing modular applications using OSGi and the Spring Dynamic Modules.

Modern Java Recipes

Simple Solutions to Difficult Problems in Java 8 and 9

Author: Ken Kousen

Publisher: "O'Reilly Media, Inc."

ISBN: 1491973145

Category: Computers

Page: 322

View: 6773

DOWNLOAD NOW »
The introduction of functional programming concepts in Java SE 8 was a drastic change for this venerable object-oriented language. Lambda expressions, method references, and streams fundamentally changed the idioms of the language, and many developers have been trying to catch up ever since. This cookbook will help. With more than 70 detailed recipes, author Ken Kousen shows you how to use the newest features of Java to solve a wide range of problems. For developers comfortable with previous Java versions, this guide covers nearly all of Java SE 8, and includes a chapter focused on changes coming in Java 9. Need to understand how functional idioms will change the way you write code? This cookbook—chock full of use cases—is for you. Recipes cover: The basics of lambda expressions and method references Interfaces in the java.util.function package Stream operations for transforming and filtering data Comparators and Collectors for sorting and converting streaming data Combining lambdas, method references, and streams Creating instances and extract values from Java’s Optional type New I/O capabilities that support functional streams The Date-Time API that replaces the legacy Date and Calendar classes Mechanisms for experimenting with concurrency and parallelism