Java 8: новые возможности языка Java

Курс дает представление о нововведениях в Java 8. Рассматриваются лямбда-выражения, потоки данных, подход к обработке данных map-filter-reduce, асинхронное программирование, а также обзор нового DateTime API. Предлагается большое количество практических упражнений по каждой теме.
Курс: JVA-030
Длительность: 12 ч.

Описание

Язык Java существенно изменился в 8-й версии. Многие давно планировавшиеся нововведения были добавлены в язык, что сделало его не только объектно-ориентированным, но и функциональным языком. Для эффективного применения этих возможностей необходимы новые подходы к программированию и глубокое понимание принципов языка.

В данном курсе слушатели изучат новые возможности Java 8. Будут рассмотрены лямбда-выражения, потоки данных, подход к обработке данных map-filter-reduce, асинхронное программирование, а также обзор нового DateTime API. 

Предлагается большое количество практических упражнений по каждой теме.

Разбираемые темы

1. Лямбда-выражения:
  • Синтаксис лямбда-выражений;
  • Функциональные интерфейсы;
  • Пакет java.util.function и функциональные интерфейсы, определенные в этом пакете;
  • Ссылки на методы;
  • Ссылки на конструкторы;
  • Методы по умолчанию в интерфейсах;
  • Методы по умолчанию и «проблема алмаза»;

2. Потоки данных Strean:
  • Что такое поток данных;
  • Способы создания потока;
  • Подход Map/Filter/Reduce ;
  • Подход Map/Filter/Aggregate;
  • Функции агрегации;
  • Функция Reduce  при последовательной и параллельной обработке;
  • Метод forEach;
  • Выстраивание Consumers в цепочку;
  • Предикаты;
  • Метод peek;
  • Операция map; 
  • Операция flatmap; 
  • Агрегация и reduction;
  • Тип Optional;
  • Коллекторы;
  • Использование коллекторов для группировки данных;
  • IntStream и другие специальные потоки;
  • Поток Random;
  • Параллельные потоки;

3. Фреймворк Fork/Join:
  • ForkJoinPool;
  • Классы, использующиеся в Fork/Join;
  • Пример Fork/Join;
  • Fork/Join и параллельная обработка потоков данных: сравнение производительности;

4. API для работы с датой и временем:
  • Проблемы с типами Date и Calendar в Java 8;
  • LocalDate, LocalTime, LocalDateTime;
  • Класс Instant;
  • Класс Clock;
  • ZonedDateTime;
  • Класс DayOfWeek;
  • Класс Duration;
  • Класс Period;

5. Асинхронное программирование:
  • Проблемы с многопоточностью;
  • Параллельное и асинхронное программирование;
  • Преимущества асинхронного подхода;
  • Многопоточность в Java 1;
  • Многопоточность в Java 5: класс Future;
  • Подход Java 8: класс CompletableFuture class;
  • Поток данных;
  • Старт нескольких потоков в параллель;
  • Композиция CompletableFuture;
  • Комбинирование CompletableFuture;
  • Синхронные и асинхронные методы в CompletableFuture;
  • Использование anyOf/applyToEither для получение результата от быстрейшего потока;
  • Обзор методов CompletableFuture;
  • Обработка исключений вCompletableFuture;
  • Использование точек откада в CompletableFuture; 
  • Прерывание работы CompletableFuture;
  • Использование CompletableFuture в обработке данных;
  • Асинхронные библиотеки в Java.

Цели

Познакомить разработчиков с нововведениями в Java 8.

Целевая аудитория

Java-разработчики.

Предварительная подготовка

  • Необходимо знание языка программирования Java.
  • Желателен опыт разработки на Java.
После окончания курса выдаётся сертификат на бланке Luxoft Training
-10% ФИЗИЧЕСКИМ ЛИЦАМ
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Москва 11 900 1
Санкт-Петербург 10 710 1
Омск 8 930 1
Киев 2 800 грн.
Одесса 2 500 грн.
Днепр 2 500 грн.

Рекомендуемые дополнительные материалы, источники:

Horstmann C. Java 8. 2013.

Примечание:

Материалы курса представлены на английском языке.

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоротивное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
По запросу на education@luxoft.com мы ответим на любые дополнительные вопросы касательно обучения в нашем Luxoft Training.
   Подпишись на ежемесячный DigestLT
Успешная форма подписки.
Спасибо!
Форма отправлена успешно.