Course code Title Language Price # Unit Startdate Hour Enddate Location Signup
JVN053 What's new in Java 8 on your request on your request Contact Us

What's new in Java 8

What's new in Java 8

Overview

Course code: 
JVN053
Duration: 
2
Time Unit: 
Day(s)
Overview: 

Java 8 introduces a number of revolutionary capabilities - many of them centered on lambda expressions and functional-style programming. These capabilities add powerful new programming techniques to the language, but also add complexity.

This concise course is focused on introducing the new capabilities and how to use them. It includes numerous code examples and programming labs that illustrate all of the new capabilities.

Skills Gained:
- Be familiar with the additions to Java interfaces
- Understand and use functional interfaces
- Understand lambda expressions and method references, and use them to pass behavior (methods)
- Learn about the pre-defined functional interfaces, and use them with lambda expressions
- Understand and use the Stream API
- Process collections using streams
- Understand and use parallel streams
- Learn and use the new Data/Time API
- Be familiar with other new capabilities

Topics

Topics: 

Session 1: What's new in Interfaces
- Static Methods
- Default Methods
- Functional Interfaces

Session 2: Introducing Lambda Expressions
- Inner and Anonymous Classes - Uses and Shortcomings
- Lambda Expression Overview
- Lambda Expressions and Functional Interfaces
- Using Lambda Expressions
- Working with Method References

Session 3: The Stream API
- What are Streams?
- Streams and Collections
- Filtering Collections
- Chaining and Pipelining
- Processing Techniques
--- Extracting Data
--- Searching for Data
--- Sorting
--- Performing Calculations

Session 4: The Built in Lambda Types
- Functional Interfaces in java.util.function
- Using Predicate
- Using Consumer and Supplier
- Using other Lambdas

Session 5: Parallel Processing / Concurrency
- Overview
- Requirements
- Executing Stream Pipeline in Parallel
- Concurrency with Lambdas
- Issues
- Performance

Session 6: Date/Time API
- Overview and Limitations of Previous API
- The Date/Time API (JSR 310)
- Date-Based and Time-Based Events
- Timestamps, Periods, and Durations
- Performing Calculations
- Formatting
- Localization / Time Zones

Session 7: Other Capabilities
- Using Optional Instead of null
- Nashorn JavaScript Engine
- Minor New Features

Prerequisites

Prerequisites: 

The course is hands on, and requires that students be comfortable with writing general Java code at an intermediate level, including the use of interfaces.