'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
Vladimir Sonkin Java and Web Technologies Expert
Vladimir has more than 12 years of experience in Java Enterprise development and has been working for Luxoft since 2006, where he is now a Senior Developer involved in one of our most important banking projects.

During this period he has been involved in several large scale software development projects for a wide array of industries such as banking, agriculture and e-commerce. As a result he has been able to work with a variety of technologies such as Java or JavaScript, used in developing complex Web applications and Web interfaces with low response time.

His main interest is in developing scalable and ergonomic Web interfaces and technologies aimed at increasing the productivity level of software developers. Since 2004, Vladimir has developed and conducted trainings on Java, Java Enterprise, SQL Server DBMS and AngularJS.
Course is scheduled in: Online
1.02.2021 - 3.02.2021
Time: 09:00-13:00
City: Online
Duration: 12 hours
Language: English
Trainer
Vladimir Sonkin
Java and Web Technologies Expert
-10% €240
€216
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
1.02.2021 - 3.02.2021
Time: 09:00-13:00
City: Online
Duration: 12 hours
Language: English
Trainer
Vladimir Sonkin
Java and Web Technologies Expert
-10% €240
€216
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
Still have questions?
Connect with us
Thank you.
Your request has been received.