Java 8

This training is designed to help participants understand these new features of Java 8. The course covers lambda expressions, data streams, stream data processing with map-filter-reduce approach, asynchronous programming and DateTime API.
Code: JVA-030
Duration: 12 hours

Description

Java has been significantly changed in version 8. Many long-planned features were introduced in the language, making it more functional. Using these features requires new approaches to programming and a deep understanding of new principles.

This training is designed to help participants understand the new features of Java 8. The course covers lambda expressions, data streams, stream data processing with map-filter-reduce approach, asynchronous programming and DateTime API. Every key area has a number of practical exercises that allows participants to practice what they learned.

Roadmap

Lambda expressions
  • Lambda syntax
  • Functional interfaces
  • Package java.util.function and predefined functional interfaces
  • Method references
  • Constructor references
  • Default methods in interfaces
  • Default methods and diamond problem

Streams
  • What is a Stream?
  • Ways to create a Stream
  • Map/Filter/Reduce approach
  • Map/Filter/Aggregate
  • Aggregation functions
  • Reduce in sequental and parallel processing
  • forEach method
  • Consumers chaining
  • Predicates
  • peek method
  • map operation
  • flatmap operation
  • aggregation and reduction
  • Optional type
  • Collectors
  • Using collectors as group by
  • IntStream and other special streams
  • Random stream
  • Parallel streams

Fork/Join framework
  • ForkJoinPool
  • Classes used for Fork/Join
  • Fork/Join example
  • Fork/Join and parallel stream processing: benchmarks

Date and Time API
  • Problems with Date and Calendar in Java 8
  • LocalDate, LocalTime, LocalDateTime
  • Instant class
  • Clock class
  • ZonedDateTime
  • DayOfWeek class
  • Duration class
  • Period class

Asynchronous programming
  • Problems with multithreading
  • Parallel and asynchronous programming
  • Benefits of asynchrnous approach
  • Java 1 approach to multithreading
  • Java 5 approach: Future class
  • Java 8 approach: CompletableFuture class
  • Data flow as a pipeline
  • Starting several pipelines in parallel
  • Composing futures
  • Combining futures
  • Synchronous and asynchronous CompletableFuture methods
  • Using anyOf/applyToEither to get the winner result
  • Summary of CompletableFuture methods
  • Handling exceptions in CompletableFuture
  • Using checkpoints in method handling
  • Cancellation of CompletableFuture
  • Using CompletableFuture in real-life data flow processing
  • Asynchronous APIs in Java

Objectives

To introduce developers to the new features in Java 8.

Target Audience

The training is designed for Java developers.

Prerequisites

Java knowledge is required. Practical experience in Java programming is desirable.


Register for the next course
+
Registering in advance ensures you have priority. We’ll notify you when we schedule the next course on this topic
Bucharest €240
Krakow €240
Wroclaw €240

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. For individual participants the price is as displayed. For legal entities VAT is added to the displayed price.

Courses you may be interested in:
DEV-006_JVA
24 hours
JVA-017
30 hours

Sign up

First Name*
Last Name*
Company
Email*
Preferred Location
Phone
Your Comment

Contacts in

loading map...
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
loading map...
Luxoft Poland Wrocław - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wrocław
loading map...
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
   Subscribe to our monthly newsletter
Success
Thank you.
Your request has been received.