Java 8. Новые возможности языка Java
Java 8. Новые возможности языка Java
Описание Курса:
Курс Java 8. Новые возможности языка Java ознакомит с новыми подходами к программированию и глубоким пониманием принципов языка, с эффективным применением новых возможностей.
В ходе курса учасники изучат новые возможности Java 8. Будут рассмотрены лямбда-выражения, потоки данных, подход к обработке данных map-filter-reduce, асинхронное программирование, а также обзор нового DateTime API.
В ходе курса учасники изучат новые возможности Java 8. Будут рассмотрены лямбда-выражения, потоки данных, подход к обработке данных map-filter-reduce, асинхронное программирование, а также обзор нового DateTime API.
Аудитория:
- Разработчики Java
Предварительная подготовка:
- Знание языка программирования Java
- Опыт разработки на Java
Содержание курса:
Лямбда-выражения:
- Cинтаксис лямбда-выражений
- Функциональные интерфейсы
- Пакет java.util.function и функциональные интерфейсы, определенные в этом пакете
- Ссылки на методы
- Ссылки на конструкторы
- Методы по умолчанию в интерфейсах
- Методы по умолчанию и «проблема алмаза»
- Что такое поток данных
- Способы создания потока
- Подход Map/Filter/Reduce
- Подход Map/Filter/Aggregate
- Функции агрегации
- Функция Reduce при последовательной и параллельной обработке
- Метод forEach
- Выстраивание Consumers в цепочку
- Предикаты
- Метод peek
- Операция map
- Операция flatmap
- Агрегация и reduction
- Тип Optional
- Коллекторы
- Использование коллекторов для группировки данных
- IntStream и другие специальные потоки
- Поток Random
- Параллельные потоки
- ForkJoinPool
- Классы, использующиеся в Fork/Join
- Пример Fork/Join
- Fork/Join и параллельная обработка потоков данных: сравнение производительности
- Проблемы с типами Date и Calendar в Java 8
- LocalDate, LocalTime, LocalDateTime
- Класс Instant
- Класс Clock
- ZonedDateTime
- Класс DayOfWeek
- Класс Duration
- Класс Period
- Проблемы с многопоточностью
- Параллельное и асинхронное программирование
- Преимущества асинхронного подхода
- Многопоточность в Java 1
- Многопоточность в Java 5: класс Future
- Подход Java 8: класс CompletableFuture class
- Поток данных
- Старт нескольких потоков в параллель
- Композиция CompletableFuture
- Комбинирование CompletableFuture
- Синхронные и асинхронные методы в CompletableFuture
- Использование anyOf/applyToEither для получение результата от быстрейшего потока
- Обзор методов CompletableFuture
- Обработка исключений вCompletableFuture
- Использование точек откада в CompletableFuture
- Прерывание работы CompletableFuture
- Использование CompletableFuture в обработке данных
- Асинхронные библиотеки в Java.
Материалы и сертификаты:
Акцент Профи