Home    |    Instructor-led Training    |    Online Training     
         
 
Courses
ADA
Adobe
Agile
AJAX
Android
Apache
AutoCAD
Big Data
BlockChain
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cisco
Citrix
Cloud Computing
COBOL
Cognos
ColdFusion
COM/COM+
CompTIA
CORBA
CRM
Crystal Reports
Data Science
Datawarehousing
DB2
Desktop Application Software
DevOps
DNS
Embedded Systems
Google Web Toolkit (GWT)
IPhone
ITIL
Java
JBoss
LDAP
Leadership Development
Lotus
Machine learning/AI
Macintosh
Mainframe programming
Mobile
MultiMedia and design
.NET
NetApp
Networking
New Manager Development
Object oriented analysis and design
OpenVMS
Oracle
Oracle VM
Perl
PHP
PostgreSQL
PowerBuilder
Professional Soft Skills Workshops
Project Management
Rational
Ruby
Sales Performance
SAP
SAS
Security
SharePoint
SOA
Software quality and tools
SQL Server
Sybase
Symantec
Telecommunications
Teradata
Tivoli
Tomcat
Unix/Linux/Solaris/AIX/
HP-UX
Unisys Mainframe
Visual Basic
Visual Foxpro
VMware
Web Development
WebLogic
WebSphere
Websphere MQ (MQSeries)
Windows programming
XML
XML Web Services
Other
Using Java 8's New Features
Java Training Overview

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.

Java Training Skills Gained

  • 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
Hands-On

Minimum 50% hands-on

Supported Platforms

Eclipse IDE, Java 8, other IDEs upon request

Java Training Course Duration

2 Days

Java Training Course outline

Session 1: What's new in Interfaces

  • Static Methods
  • Default Methods
  • Functional Interfaces

Session 2: Introducing Lambda Expressions

  • Motivation for Lambdas
  • Lambda Expression Overview
  • Lambda Expressions and Functional Interfaces
  • Using Lambda Expressions
  • Working with Method References

Session 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

Session 4: Parallel Processing and Concurrency

  • 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

Session 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

Session 6: Other Capabilities

  • Compact Profiles
  • Using Optional Instead of null
  • Repeatable and Type Annotations
  • Nashorn JavaScript Engine
  • Minor New Features

Please contact your training representative for more details on having this course delivered onsite or online

Training Outlines - the one stop shopping center for IT training.
© Training Outlines All rights reserved