New features of Java 8 (stream, API)

New features of Java 8 (stream, API)

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.

Duration
12 hours
Course type
Online
Language
English
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
-
€ 400 *
Training for 7-8 or more people? Customize trainings for your specific needs
New features of Java 8 (stream, API)
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
-
€ 400 *
Training for 7-8 or more people? Customize trainings for your specific needs

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.

certificate
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

To introduce developers to the 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.

Roadmap

1) 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

2) 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

3)  Fork/Join framework

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

4)  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

5)  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
Schedule and prices
09:30-13:30
Code: JVA-030
Location: Online
Duration: 12 hours
Language: English
Time: 09:30-13:30
Trainer Tudose, Florin-Catalin
€ 400 *
Courses you may be interested in
Java Advanced: Functional, Asynchronous, and Reactive Programming
This training focuses on the contemporary functional, asynchronous, and reactive approaches to Java development. It covers the examination of NIO2, CompletableFurure, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive We
JVA-074
36 hours
Still have questions?
Connect with us