'Y'

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.


Trainer in Online
Oleh Yushchenko Java Trainer
Oleh has 10+ years of experience in Enterprise Java Development. During that time, he has been part of several IT projects for different product companies, major investment banks and for a premium forex broker solutions provider.

He is also the author and developer of one of the Automated Learning Platforms which helps people learn Java from Scratch anywhere in the world. More than 1000 people have been trained in Java- programming using this Platform, and the most diligent have been successfully employed as Java-developers in different companies and projects.

Oleh likes programming, Java and also he is the big fan of learning and teaching. He is always looking for the world’s best learning and memory studies, trainings, videos, books so that he can integrate such best practices in his programs.

Since August 2016 Oleh works as Java and Web Trainer for Luxoft Training.
Course is scheduled in: Online
28.09.2020 - 30.09.2020
Time: 09:00-13:00
City: Online
Duration: 12 hours
Language: English
Trainer
Oleh Yushchenko
Java Trainer
€240
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
28.09.2020 - 30.09.2020
Time: 09:00-13:00
City: Online
Duration: 12 hours
Language: English
Trainer
Oleh Yushchenko
Java Trainer
€240
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. Price does not include VAT.

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

Sign up

Choose dates
First Name*
Last Name*
Company
Email*
Phone
Your Comment
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

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

Contact phone:

+48 122110650
Success
Thank you.
Your request has been received.