D-JAVA8
Java8 New Features
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.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.

Description

Topics Include
  1. What is Java 8?
  2. Java 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
  3. Method enhancements
    • Method references
    • Constructor references
    • Default methods
    • Static methods in interfaces
  4. New Functional Interfaces
    • Function
    • Predicate
    • Consumer
    • Supplier
    • BinaryOperator
    • Additional new functional interfaces
  5. Streams
    • Sequential vs. parallel streams
    • Immediate vs. terminal operations
    • Stream example
    • Lazy evaluation
    • A closer look at immediate and terminal operations
    • Primitive specialized streams
  6. Enhanced Collections API
    • Iteration
    • New methods in List
    • New methods in Map
  7. Enhanced concurrency API
    • ConcurrentHashMap
    • CompletableFuture
    • CountedCompleter
    • Adders and accumulators
  8. Additional new features
    • Time
    • IO / NIO additions
    • Reflection and annotation changes
    • Nashorn JavaScript Engine

Audience

Any Java developer who needs to get up to speed with the latest features of Java platform / language

Duration

1 day

Format

Instructor Lead

Prerequisites

Delegates should be comfortable with Java language, syntax and object oriented application development principles