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.
12 hours
Online
English
JVA-030
Java 8
Sign Up
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
12.01.2022 - 14.01.2022
07.02.2022 - 09.02.2022
€ 290
Training for 7-8 or more people? Customize trainings for your specific needs
Java 8
Sign Up
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
12.01.2022 - 14.01.2022
07.02.2022 - 09.02.2022
€ 290
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.
After completing the course, a certificate
is issued on the Luxoft Training form

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.

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
Schedule and prices
View:
12.01.2022 - 14.01.2022
09:00-13:00
Location:Online
Duration:12 hours
Language:English
Time:09:00-13:00
Timezone:UTC +1
Trainer: Sonkin Vladimir
Trainer Sonkin Vladimir
€ 261
€ 290
Sign Up
- 10%
07.02.2022 - 09.02.2022
10:00-14:00
Location:Online
Duration:12 hours
Language:English
Time:10:00-14:00
Timezone:UTC +2
Trainer: Cracana Eduard
Trainer Cracana Eduard
€ 261
€ 290
Sign Up
- 10%
View Entire Schedule
Trainers
Sonkin Vladimir
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.
Cracana Eduard
Software development specialist
Eduard is currently involved in one of Luxoft’s financial projects as a programmer where he is responsible for developing Java Enterprise Applications and working with Oracle Databases. In addition his tasks also include creating automated Integration and Unit tests, often with test and behavior driven development.

He has spent more than 5 years working in the IT field, as programmer developing applications mainly for the finance and banking fields. For Luxoft Training he is responsible for delivering some of our Java based courses such as Java 8. Eduard has a Bachelor of Engineering from the Polytechnic University of Bucharest, Faculty of Automatic Control and Computers and a Master in Software Engineering University of Bucharest, Faculty of Mathematics and Computer Science.
Courses you may be interested in
Code Refactoring for Java
The course deals with the concept of refactoring as a way of preventing software rot. The course describes various smells indicating that a code needs refactoring, explains which refactoring types best suit specific situations, and describes the work of refactoring in detail through analyzing concrete real-life cases.
Effective Java
The training explores new design patterns and language idioms, showing how to make the most of features ranging from generics to enums, annotations to autoboxing.
Java Performance And Tuning
This course covers topics like JVM architecture, memory allocation and management, Garbage Collector, profiling tools, real world case studies, JDK best practices and benchmarking.
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.