О чём курс
Курс является продолжением программы JVA-007, и в нем рассматриваются наиболее важные из используемых в настоящее время функций (включая Java 8).
Слушатели смогут работать с основными классами Java, научатся использовать многопоточность (как на уровне основных механизмов, так и на уровне библиотеки java.util.concurrent) и механизмы Refelction, определять и использовать аннотации, логирование в программах, а также применять наиболее важные возможности Java 8 (лямбда-выражения, ссылки на методы, потоки, новые Date и Time API и т.д.).
Цели
После завершения обучения слушатели смогут:
использовать в приложениях ключевые классы системной библиотеки: System, Math, Object, строки, обертки (wrappers);
работать с вводом-выводом из приложений;
управлять в приложениях потоками (threads);
работать со стандартными классами коллекций;
использовать механизм Reflection;
использовать в приложениях аннотации;
использовать в приложениях лямбды Java 8;
использовать в приложениях потоки Java 8;
работать с Java 8 Date и Time API.
Целевая аудитория
Младшие разработчики Java, владеющих синтаксисом Java и ООП (или прослушавших курс JVA-007)
Средние разработчики Java, желающие структурировать свои знания стандартных библиотек JDK (I/O, коллекции, многопоточность, потоки данных и т.д.).
Предварительная подготовка
Опыт разработки на платформе JavaSE
Для кого
Разработчик
Улучшаемые навыки
Java
JavaSE
Разработка
Многопоточность
Потоки данных
Файловый ввод-вывод
Java Collections
Рефлексия
Аннотации
Лямбда-выражения
Stream API
Date and Time API
Производительность
Инструменты
VS Code
IntelliJ IDEA
Java
NetBeans
Eclipse
Расписание курсов
Программа курса
01
Системные классы в Java
Введение
Классы System, Math и Object
Строки
Классы StringBuffer и StringBuilder
Примитивные оболочки
Автоупаковка и автораспаковка
Работа с регулярными выражениями
Класс Properties и работа с файлами свойств
Файловый ввод – вывод
Прямой доступ к файлам
Потоки данных
Низкоуровневые и высокоуровневые потоки
Сцепление потоков
Обработка исключений в потоках В/В
Reader- и Writer-потоки
Сериализация и десериализация объектов
Объекты класса System out, in, err. Класс PrintStream
Форматирование выходных данных
03
Многопоточность в Java
Понятие многопоточности
04
Многопоточность: пакет java.util.concurrent
05
Фреймворк Java Collections
Введение
Основные интерфейсы
Коллекции
06
Использование рефлексивного API в Java
Введение
Интроспекция класса
Понятие аннотации
Использование аннотаций
08
Лямбда-выражения в Java 8
Введение в «лямбда-выражения»
Функциональные интерфейсы. Ссылки на метод
09
Стримы данных и коллекторы. Новые API для map/filter/reduce
Стримы данных
Понятия map / filter / reduce
Мэппинг потоков
Агрегирование и редукция
Коллекторы
Специализированные потоки
10
API даты и времени в Java 8. Дополнение к основным API Java
Для чего нужен новый Java Date/ime API?
Проблемы с получением даты в Java 7
Принципы проектирования нового Date и Time API
Классы Date Time в Java 8
Enums
Period и Duration: Представление временных различий
Утилиты Date API
Корректировщики времени
11
Итого: теория – 14,5 ч (36%), практика – 25,5 ч (64%)
Чему вы научитесь
01
Работать с файлами и потоками данных, включая файловый ввод-вывод, прямой доступ к файлам и сериализацию объектов.
02
Управлять многопоточностью и синхронизацией потоков с использованием пакета java.util.concurrent.
03
Использовать фреймворк Java Collections для эффективной работы с коллекциями.
04
Применять рефлексивный API и аннотации для динамического анализа и модификации классов.
05
Работать с лямбда-выражениями и функциональными интерфейсами для создания более чистого и компактного кода.
06
Использовать Stream API для операций map, filter, reduce и других агрегирующих действий над коллекциями.
07
Работать с новым API даты и времени в Java 8, включая классы LocalDate, LocalTime, ZonedDateTime и другие.
08
Форматировать и выводить данные с использованием классов PrintStream и методов форматирования.
09
Обрабатывать исключения в потоках ввода-вывода и других контекстах.
Курс проводят
Кучин Евгений
Разработчик на Java и JavaScript