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 Bucharest
Catalin Tudose Java and Web Technologies Expert

Catalin is an experienced and dedicated software engineer with expertise in a variety of areas such as requirements analysis, project management (Waterfall and Agile), people management, database design, software architecture and software technologies for Enterprise Applications. During the course of his career he has held several roles, from senior developer to technical team lead.

In addition to his role as a software engineer Catalin has also been involved in developing and facilitating training courses on programming and databases for companies and universities. He has delivered courses on subjects such as Java, Web technologies, analysis of algorithms, SQL and database design.

He is an Agile Certified Scrum Master with a deep understanding of project management techniques and plenty of experience in managing software development projects. 

Course is scheduled in: Bucharest
10.02.2020 - 12.02.2020
Time: 09:30-13:30
City: Bucharest
Duration: 12 hours
Language: Romanian
Trainer
Catalin Tudose
Java and Web Technologies Expert
€240
Register for the next course
+
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Register for the next course
+
Registering in advance ensures you have priority. Well 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

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.