Course Description

Java 8 is a major evolution in the Java programming language and platform. The language has been expanded dramatically to support lambda expressions, functional programming styles, and enhanced performance. The Java libraries have been extended significantly to take advantage of these new language features, and to offer many improvements in areas such as concurrency, security, and JavaScript integration.

This course takes a detailed look at all these new features, with extensive examples and hands-on exercises using the latest development tools.

What you’ll learn

  • Using lambda expressions
  • Understanding method and constructor references
  • Defining and using functional interfaces
  • Using sequential and parallel streams
  • Using the enhanced concurrency and collection APIs
  • Understanding Java 8 security features
  • Understanding additional API and language improvements



2-3 days


Target Audience

Java developers and designers who are looking to adopt Java 8 and see what it has to offer.


Course Prerequisites

Extensive experience in the Java language, version 7.


Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.


Course Content

Setting the scene

  • What is Java 8
  • Where can I get it
  • What tools are available

Lambda expressions

  • What are lambda expressions
  • Formal syntax for lambda expressions
  • Lambda expression simple syntax
  • Lambda expressions that return a value
  • Lambda expressions with multiple arguments
  • Lambda expressions and scope
  • Common usage scenarios

Method enhancements

  • Method references
  • Constructor references
  • Default methods
  • Static methods in interfaces

Functional interfaces

  • Function
  • UnaryOperator
  • BiFunction
  • BinaryOperator
  • Predicate
  • Consumer
  • Supplier
  • Additional new functional interfaces


  • Sequential vs. parallel streams
  • Immediate vs. terminal operations
  • Stream example
  • Lazy evaluation
  • A closer look at immediate and terminal operations
  • Primitive-specialized streams

Enhanced collections API

  • Iteration
  • New methods in List
  • New methods in Map
  • Parallel array processing

Enhanced concurrency API

  • ConcurrentHashMap
  • CompletableFuture
  • CountedCompleter
  • Adders and accumulators
  • Additional new features

Additional Java 8 Features

  • Unsigned arithmetic
  • New date/time API
  • Base64 encoding and decoding
  • Annotation changes
  • Miscellaneous new features

Java 8 Security Features

  • Overview
  • Privilege checking
  • Keystore enhancements
  • Cryptography enhancements

Nashorn JavaScript Engine

  • Getting started with Nashorn
  • Accessing Java classes in JavaScript
  • Additional techniques



See more Java courses