What's New in Java 8

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.


3 days



  • Good experience in Java SE 7

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

Course details

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