Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Java > What's New in Java 8 Training

What's New in Java 8 Training

Quick Enroll

Course#: WA2493

This Java 8 New Features training course covers the major changes in the Java 8 platform, one of the most significant updates to Java in some time.  After Oracle bought out Sun, Java 6 was around for quite a while.  Oracle decided to release the "easy stuff" in Java 7 while working on some of the more significant changes for Java 8.

Besides a long sought-after API for working better with Date and Time, one of the most significant changes in Java 8 are 'Lambda Expressions'.  These allow you to treat a function implementation like an object and have far-reaching impacts on what you can do with Java.  New approaches to filtering, sorting and performing calculations with Collections are now possible with Lambda Expressions.  You can also use Lambda Expressions in many places where previously you needed an extraneous anonymous class so this will simply code.

This training covers all of these important changes in the Java 8 platform along with some of the more significant changes from Java 7.  Any experienced Java programmer who wishes to quickly get up to speed on the recent changes in Java 8 will find this course extremely valuable.

Topics
 
  • Summary of Recent Java Changes
  • Date/Time API
  • Java NIO and NIO.2
  • Java Concurrency and Fork/Join Framework
  • Lambda Expressions
  • Collections Stream API
  • Built-in Lambda Types
  • Advanced Functional Programming
Practical Work
  The labs provide hands-on experience working with the new features of Java 8 and Java 7.

What you will learn
  After completing this course, the student should be able to:
  • Describe the major recent changes in Java
  • Utilize the functionality of the Java 8 Date/Time API
  • Work with Java NIO and NIO.2
  • Work with the advanced Java Concurrency of the Fork/Join Framework
  • Define Lambda Expressions
  • Utilize the Collections Stream API
  • Use the Built-in Lambda Types with Lambda Expressions
  • Easily implement many advanced patterns with Lambda functional programming

Audience
  This training course is intended for programmers who are familiar with Java and want to learn about the new features and recent changes of Java SE 8 and Java SE 7.

Prerequisites
 

A good understanding of object-oriented programming using Java.  The following course can provide this experience:

WA1278 Introduction to Java Using Eclipse


Duration
  Two days.

Outline of WA2493 What's New in Java 8 Training

 1. Summary of Recent Java Changes

  • Java 7 – Major New Features
  • Java 7 – Generic Diamond Operator
  • Java 7 – Catching Multiple Exceptions
  • Java 7 – Rethrowing Exceptions
  • Java 7 – try-with-resources Statement
  • Java 7 – Suppressed Exceptions in try-with-resources
  • Java 7 – Strings in switch Statement
  • Java 7 – Changes in Numeric Literals
  • Java 7 – Fork & Join Parallel Processing
  • Java 7 – NIO.2 File Systems
  • Java 8 – Major New Features
  • Java 8 – Java Lambda Primer
  • Java 8 – Method Reference
  • Java 8 – Collections Stream API
  • Java 8 – JSR-310 Date and Time
  • Java 8 – Default Methods
  • Java 8 – Nashorn JavaScript Engine
  • Other Miscellaneous Java 8 Changes
  • Summary

Chapter 2. Introduction to Lambda Expressions

  • Functional Interface
  • Anonymous Inner Class (AIC)
  • Downside of AIC
  • Lambda Expressions
  • Lambda Expression Syntax
  • Method Reference
  • Benefits of Lambda Expressions – An Example
  • Initial Version
  • Refactor Criteria Into Method
  • Predicate Interface
  • Using a Predicate
  • Implement as Separate Class
  • Implement as AIC
  • Use Lambda Expressions
  • Reuse Lambda Expressions
  • Summary

Chapter 3. Collections Stream API

  • Aggregate Operations and Collections
  • Pipelines and Streams
  • Stream Properties
  • Stream API Examples
  • Examples Without Stream API
  • forEach
  • Filtering Streams
  • Differences From Iterators
  • Summary

Chapter 4. Built-in Lambda Types

  • Target Types of Lambda Expressions
  • Functional Interfaces for Lambda Expressions
  • java.util.function Package
  • Main Functional Interfaces
  • Predicate
  • Consumer
  • Function
  • Supplier
  • Primitive Interfaces
  • Binary Types
  • BinaryOperator and UnaryOperator
  • Summary

Chapter 5. Collection Operations with Lambda Expressions

  • Stream API Review
  • Operation Types
  • Extracting Data with Map
  • Peek
  • Search Methods
  • Streams are “Lazy”
  • Optional Class
  • Stream Data and Calculation Methods
  • Sorting Streams
  • Comparator Interface Changes
  • Saving Data From a Stream
  • Collectors Class
  • Summary

Chapter 6. Date and Time API

  • Working With Date and Time
  • Date and Time API
  • Date/Time API Packages
  • Local Date and Time
  • LocalDate
  • LocalTime
  • LocalDateTime
  • Date/Time Methods
  • Working With Time Zones and Daylight Saving Time
  • Modeling Time Zones
  • ZonedDateTime
  • Date and Time Amounts
  • Calculating Between Days
  • Fluent Notation
  • Summary

Chapter 7. Java Concurrency

  • Java Concurrency
  • Executor Interface
  • Using the Executor
  • Callable<V> Interface
  • Callable Example
  • ExecutorService Interface
  • Future<T> Object
  • Using Executor, Future and Callable
  • Java 8 - CompletionStage
  • Java 8 - CompletableFuture
  • Java 8 – CompletableFuture Methods
  • Atomic Variables
  • Using Atomic Variables
  • Java 8 – Accumulators and Adders
  • Java 8 - ConcurrentHashMap
  • Summary

Chapter 8. Fork/Join Framework

  • Fork/Join Introduction
  • Fork Join Tasks
  • RecursiveTask
  • RecursiveTask Example
  • RecursiveAction
  • Java 8 - CountedCompleter
  • ForkJoinPool
  • Java 8 – Common ForkJoinPool
  • Summary

Chapter 9. Parallel Streams

  • Streams Review
  • Old-Style Collection Processing
  • Stream Collection Processing
  • Styles Compared
  • Parallel Stream
  • Using Parallel Streams
  • Pipeline Restrictions
  • Avoid Statefulness
  • Stateless Implementation
  • Deterministic Streams
  • Nondeterministic Streams
  • Reduction
  • Illustrating Parallel Execution
  • Performance
  • Summary

Chapter 10. Java NIO and NIO.2

  • NIO and NIO.2 Overview
  • The java.nio.file.Path Interface
  • Obtaining a Path Instance
  • Path Operations
  • Converting Paths
  • Operations With Two Paths
  • Working With Files
  • Java 8 – Files Changes
  • File Attributes
  • Working With File Attributes
  • FileVisitor API
  • Finding Files
  • Java 8 – Finding Files
  • Watching Directories
  • WatchService Example
  • Buffers
  • Channels
  • Using Buffers and Channels - Write Example
  • Using Buffers and Channels - Read Example
  • Working With Legacy java.io.File Code
  • Summary

Chapter 11. Advanced Functional Programming

  • Collections Enhancements
  • Map 'merge'
  • Creating Streams With Stream.of
  • I/O Enhancements
  • Files Enhancements
  • Flatten Data With flatMap
  • Summary

Lab Exercises

Lab 1. Introduction to Lambda Expressions
Lab 2. Collection Stream API
Lab 3. Using Built-In Lambda Types
Lab 4. Collection Operations
Lab 5. Date and Time API
Lab 6. Java Concurrency Features
Lab 7. Java Fork & Join
Lab 8. Parallel Streams
Lab 9. Input/Output with NIO and NIO.2
Lab 10. Advanced Functional Programming

Address Start Date End Date
Instructor Led Virtual 06/05/2017 06/06/2017
Instructor Led Virtual 09/18/2017 09/19/2017
Instructor Led Virtual 10/02/2017 10/03/2017
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course

06/05/2017 - Online Virtual
$1,395.00
Enroll

09/18/2017 - Online Virtual
$1,395.00
Enroll

10/02/2017 - Online Virtual
$1,395.00
Enroll

Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.