Migrating to Java 8

Course duration

1 Days

Course Outline

This Migrating to Java 8 training class shows Java 6 developers the new language features in Java 7 and Java 8 -- and more importantly illustrates best programming practices as they've been affected by these new features. This is an accelerated course that assumes long experience with earlier versions of Java. Students will leave familiar with various new bits of syntax, and also with an understanding of the exciting new options they have for API design and general-purpose Java 8 coding.

In addition to the primary lab files, an optional overlay is available that adds support for Eclipse Luna. Students can perform all coding, testing and debugging tasks from within the IDE.

Learn to take advantage of Java 7 features including strings in switch/case and auto-selection of type parameters for generics.

Learn to use "try-with-resources" for simpler cleanup.

Learn to use Java as a functional language, making appropriate choices of tools including inner classes, functional interfaces, method references, and lambda expressions.

Learn to use the Stream API for efficient processing of data sets.

Learn to use the Time API to manage local dates and times effectively.

Solid experience with Java programming at the Java 5 or Java 6 level is essential.

New Features in Java 7

Binary Literals

Integer Literals with Underscores

String Types in switch/case

Auto-Detection of Type Parameters

Try-with-Resources

Multiple Exceptions in catch

New Features in Java 8

Functional Programming

Passing Behavior as a Parameter

Inner Classes

Functional Interfaces

Built-In Functional Interfaces

Lambda Expressions

Scope and Visibility

Deferred Execution

Method References

Creational Methods

Designing for Functional Programming

Default Methods

Chapter 2. Streams

The Stream Processing Model

Streams

Relationship to Collections

Advantages and Disadvantages

Iterating, Filtering, and Mapping

Primitive-Type Streams

Aggregate Functions and Statistics

Sorting

Generating, Limiting, and Reducing

Finding and Matching

Grouping

Flattening and Traversing

Sequential vs. Parallel Processing

Chapter 3. The Time API

A History of Time ... in Java

Limitations of Date and Calendar

The Time API

Temporal Types

Accessors and Adjusters

Formatting

Decomposition Into Fields

Date Arithmetic

Managing Precision

Duration and Period

Time Zones and Offsets

Converting Between Time Zones

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).

InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)