Course JAV110 - Java 8 - Understanding and Using the New Features
Duration: 2 Days
Intended Audience
This course is for Java developers that needs a fast paced overview of the new features introduced in Java 8. Attendees should be experienced Java developers and should be comfortable with Java syntax and object oriented development concepts.
Synopsis
The course focuses on the following new additions and enhancements introduced in Java8
- Java Lambda Expressions
- Methods
- Functional Interfaces
- Streams
- The Collections API
- The concurrency API
Course Outline
- Java 8-Background and History
- Java Lambda Expressions
- What is a lambda expression?
- Formal syntax for lambda expressions
- Lambda expression simplified syntax
- Lambda expressions that return a value
- Lambda expressions with multiple arguments
- Lambda expressions and scope
- Typical use cases for lambda expressions
- Enhancements and additional features involving Methods
- Method references
- Constructor references
- Default methods
- Static methods in interfaces
- Functional Interfaces - new features
- Function
- Predicate
- Consumer
- Supplier
- BinaryOperator
- Further new functional interfaces
- Streams
- Sequential vs. parallel streams
- Immediate vs. terminal operations
- Stream example
- Lazy evaluation
- Primitive specialized streams
- New features added to the Collections API
- Iteration
- New methods in List
- New methods in Map
- New features in the concurrency API
- ConcurrentHashMap
- CompletableFuture
- CountedCompleter
- Adders and accumulators
- Additional new features
- Time
- Additiona to IO / NIO
- Changes to Reflection and Annotation
- The Nashorn JavaScript Engine