Skip to main content

Instructor-led training

Java 8 New Features Training in Shawnee, Kansas

Java Programming training from Hartmann Software Group, delivered onsite in Shawnee, Kansas or live online.

What you'll learn

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.
 
Course Objectives:
- Be familiar with the additions to Java interfaces
- Understand and use functional interfaces
- Understand lambda expressions and method references, and use them to pass behavior (methods)
- Learn about the pre-defined functional interfaces, and use them with lambda expressions
- Understand and use the Stream API
- Process collections using streams, including chaining operations and using collectors
- Understand and use parallel streams
- Understand and deal with the issues of parallel processing
- Learn and use the new Data/Time API
- Be familiar with other new capabilities

Prerequisites

No programming experience necessary

Course Outline

1: What's new in Interfaces
Static Methods
Default Methods
Functional Interfaces
 
2: Introducing Lambda Expressions
Motivation for Lambdas
Lambda Expression Overview
Lambda Expressions and Functional Interfaces
Using Lambda Expressions
Working with Method References
 
3: The Stream API
Overview
Shortcomings of Collections
What are Streams?
Chaining - Intermediate and Terminal Operations
- Understanding the Stream API
Overview - java.util.stream types (Stream, Collector, ...)
Keys to Understanding the API
Important Functional Interfaces: Predicate, Comparator, Function
- Stream Processing
Using filter()
Sorting / Comparator.comparing()
Using map()
Other operations: peek(), distinct(), limit(), skip()
Result producing terminal operations - collect, min/max ...
void Terminal Operations - forEach()
Existence (e.g. anyMatch) and Finder (e.g. findAny) Operations
- Collectors
Roles and Capabilities
Collectors.toList(), Collectors.toSet()
Supplier and Collectors.toCollection()
Partitioning and Grouping Collectors
 
4: Parallel Processing and Concurrency
li>Overview
Java 8 Parallel Processing using Streams
Ground Rules / Requirements for Using Parallel Stream Processing
Multithreading / Concurrency Issues
Race Conditions, Data Synchronization, Locks
Performance Issues and Considerations
 
5: Date/Time API
Overview and Limitations of Previous API
The Date/Time API (JSR 310)
Creating and Working with LocalData/LocalTime/LocalDateTime Instances
Formatting Date/Time
Localization / Time Zones
Periods and Durations
Performing Calculations on Data/Time types
 
6: Other Capabilities
Compact Profiles
Using Optional Instead of null
Repeatable and Type Annotations
Nashorn JavaScript Engine
Minor New Features

Training locations

Java 8 New Features training across the U.S. and beyond.

We provide Java 8 New Features training onsite and live online for organizations throughout the United States and internationally.

View all Java 8 New Features training locations

Train your team with HSG

Private, instructor-led training customized for your organization.

  • Onsite or live online delivery
  • Customized curriculum
  • Training for groups of 3 or more
  • Flexible scheduling
  • Experienced instructors
Request a Training Proposal

Questions? Call us at 303.377.6176
or email info@hartmannsoftware.com

Ready to train your team?

Let's customize this training for your organization.

Tell us about your employees, your goals, and your preferred schedule. We'll prepare a training proposal covering scope, delivery format, and pricing.