**************************************************************************
Ситуация на 29 апреля 2022-го (когда что изменится, обновлю):
Юдеми наконец восстановила доступ для уже записавшихся, хотя
потенциальные слушатели из России и Белоруссии его все равно
не могут приобрести. Всю выручку от новых продаж Юдеми теперь
кладет себе в карман. Далее, доступа к форуму "вопрос-ответ" у меня
по-прежнему нет. Кроме того, мне больше не приходят уведомления
о новых вопросах и сообщениях слушателей. Может быть, когда-нибудь
Юдеми все вернет на свои места, но я лично на это не надеюсь.
На случай, если возникнет острая потребность со мной что-то обсудить,
воспользуйтесь, пожалуйста, Гуглом. А то всякий раз, когда я пытаюсь
тайком встроить ссылку, Юдеми присылает мне письма с угрозами
(они не разрешают вставлять ссылки, даже на свой собственный контент).
**************************************************************************
Рассмотренные разделы
• Group 06 – Exceptions & Assertions
• Group 07 – Date/Time API
• Group 08 – Java Concurrency
Общая продолжительность видеолекций 8 часов
Также в комплект входят: полная кодовая база (Java) + все презентационные файлы (PowerPoint, PDF)
Курс представляет из себя 2-ю часть тематики сертификационного экзамена Oracle Certified Professional, Java SE 8 Programmer II (код экзамена 1Z0-809).
Данная часть полностью охватывает тематические группы с 06 по 08. Две из этих групп достаточно просты и прямолинейны, но зато третья – "Многопоточность" – порой ставит человека в тупик. Мы постарались разобрать эту тему как можно подробнее, от фундаментальных предпосылок, берущих свое начало в теории современных операционных систем, до конкретных решений, реализованных в стандартной библиотеке Java 8 API.
В связи с тем, что материал 8-й группы осложнен новыми концепциями, которые мы раньше не упоминали ни в ОСА-курсе, ни в предшествующих семи частях ОСР-курса, лекции были дополнены разбором практических задач экзаменационного уровня именно по разделу "Многопоточность".
Требуемый уровень подготовки
Средний - продвинутый
Целевая аудитория
Курс рассчитан в первую очередь на кандидатов, планирующих сдавать сертификационный экзамен 1Z0-809. Впрочем, он может быть чрезвычайно полезен всем тем, кто хочет прочно закрепить свои теоретические знания в области продвинутых аспектов Java по вышеупомянутым разделам.
Программа курса (2-я часть)
– Экзаменационные темы – Группа 6: Исключения и проверка инвариантов
• Конструкции для перехвата нескольких исключений; блок finally
• Оператор try-with-resources
• Создание пользовательских исключений с AutoCloseable-ресурсами
• Проверка инвариантов посредством оператора assert
– Экзаменационные темы – Группа 7: Java SE 8 Date/Time API
• Создание и управление событиями с привязкой к дате и времени, в т.ч. в рамках общего объекта посредством классов LocalDate, LocalTime, LocalDateTime, Instant, Period и Duration
• Работа с датами и временем в различных часовых поясах, в т.ч. с учетом перехода на летнее/зимнее время; форматирование календарных дат и времени
• Создание и управление событиями с привязкой к дате и времени посредством классов Instant, Period, Duration и TemporalUnit
– Экзаменационные темы – Группа 8: Java Concurrency
• Создание рабочих подпроцессов (threads) на базе Runnable- и Callable-объектов, и применение интерфейсов ExecutorService и Future для асинхронного исполнения задач
• Выявление потенциальных проблем конкурентного режима, в т.ч. статическая блокировка (deadlock), зависание по недоступу к ресурсу (starvation), динамическая блокировка (livelock) и состояние гонки (race condition / data race)
• Применение ключевого слова synchronized и пакета java. util. concurrent. atomic для управления порядком исполнения подпроцессов
• Работа с синхронизационными примитивами, в частности, на базе интерфейса Lock и классов ReentrantLock, Condition, CyclicBarrier, Semaphore и др.
• Организация параллелизма на базе Fork/Join Framework