Course Overview
Transitioning to Java 8 is a two-day, hands-on Java 8 development training course geared for developers who have prior working knowledge of earlier versions of Java. This is an intermediate-level Java programming course, designed for experienced Java developers who wish to get up and running with Java 8, taking advantage of all of the new features of Java 8 immediately. Throughout the course students learn the best practices for taking advantage of the new functional programming constructs in Java as well as other new features in this major update to the Java programming language.
Note: In order to provide the broadest range of courses and class dates for this class, this course may be taught by either Wintellect or one of our training Partners.
Key Learning Areas
- What functional programming means and what it brings to the table
- How Lambda expressions and functional interfaces can greatly enhance other aspects of Java
- To use the new Stream constructs to work with Collections and Collectors
- How to work with default methods and pass methods as arguments
- How to use the new features to support concurrency in multi-code systems
- To work with the new Date/Time API and other new features
Specific Java 8 features that are covered in the course include:
- Functional programming
- Anonymous functions
- Lambda expressions and default methods
- Streams and Collectors
- New Date/Time API
- StringJoiner and repeating annotations
Course Outline
Introduction to Lambda Expressions
Introduction to Java 8
- Overview of Java 8 features and enhancements
- Anonymous functions, Streams
- Interfaces in Java 8
- Default methods
- Static methods
- Multiple Inheritance
Functional Programming
- Functional vs OO Programming
- Anonymous Inner-classes
- Utility Methods
- Lambda Expressions
Lambda Expressions and Functional Interfaces
- Lambda Expression Syntax
- Functional Interfaces
- Type Inference in Java 8
Streams and Lambda Expressions
Streams
- The Stream interface
- Reduction and Parallelism
- Collections and Collectors
- Filtering collection data
- Sorting collection data
Using Lambda Expressions
- Using Method references in Lambda Expressions
- Optional vs null
Additional Java 8 Enhancements
New Java 8 features
- The new Date/Time API
- LocalDate, LocalDateTime, etc.
- Formatting Dates
- StringJoiner
- Static methods on interfaces
- Repeating and Type Annotations
- Parallel Array Sorting
- Improved type inference
- Method parameter reflection
- Updated command line tooling
Java 8 Concurrency Updates
- Parallel data processing
- Working with Streams in multi-core architectures
- Using Lambda expressions with concurrency
Who Benefits
Students who attend Transitioning to Java 8 will leave this course armed with the required skills to develop maintainable code that easily scales into multi-core environments. Geared for developers with prior Java development experience, this course will teach students everything they need to successfully transition into an effective Java 8 developer.
Prerequisites
This is an intermediate-level Java programming course, designed for experienced Java developers who wish to get up and running with Java 8 and take advantage of all of the new features of Java 8 immediately. Attendees should have a working knowledge of developing Java applications.