New features of Java 8 (stream, API) | | Software Development

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.
12 hours
Online
English
JVA-030
New features of Java 8 (stream, API)
Sign Up
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
31.03.2023 - 04.04.2023
350.00 *
Training for 7-8 or more people? Customize trainings for your specific needs
New features of Java 8 (stream, API)
Sign Up
Duration
12 hours
Location
Online
Language
English
Code
JVA-030
Schedule and prices
31.03.2023 - 04.04.2023
350.00 *
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 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
  • Show Entire Program
Schedule and prices
View:
31.03.2023 - 04.04.2023
09:30-13:30
Location:Online
Duration:12 hours
Language:English
Time:09:30-13:30
350.00
Sign Up
View Entire Schedule
Trainers
Tudose, Florin-Catalin Florin-Catalin
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, Java technologies, database design, software architecture and software technologies for Enterprise Applications. Between 2003 and 2015 he has held several roles in telecommunications and financial projects, from Java senior developer to Java technical team lead and architect.

In addition to his role as a software engineer, Catalin has also been involved in developing and facilitating trainings 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.

Since 2012, he has conducted more than 4000 hours of courses in the Luxoft Training Center. He is the author or a coauthor of the following courses:


Catalin was also the lead facilitator for the Corporate Junior Program (CJP) which took part in Luxoft Poland (Krakow and Wroclaw). This program has prepared about 50 new Java developers to join delivery projects inside the company.

Together with Luxoft, he initiated and introduced the “Advanced Java Programming” course for the students pursuing their master’s degree at the Faculty of Automation and Computer Science in Bucharest.

He is an Agile Certified Scrum Master with a deep understanding of project management techniques and plenty of experience in managing software development projects.
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.
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
Залишилися запитання?
Зв'яжіться з нами
Thank you!
The form has been submitted successfully.