Курс на Stepik
Обложка курса «Подготовка к Java-сертификации профессионального уровня (OCP)» на Stepik
8 600 ₽

Подготовка к Java-сертификации профессионального уровня (OCP) 5.000

Открыть на
STEPIK.ORG

Курс направлен на сдачу сертификационного экзамена Oracle Certified Professional, Java SE 8 Programmer II (1Z0-809). Он также отлично подойдет в качестве пособия для самоподготовки в целях дальнейшего развития, углубления и совершенствования навыков Java-программирования вплоть до уровня Middle.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Подготовка к Java-сертификации профессионального уровня (OCP)»Учеников на курсе 8
Сертификаты, выданные на курсе «Подготовка к Java-сертификации профессионального уровня (OCP)»Сертификатов выдано 0
Отзывы о курсе «Подготовка к Java-сертификации профессионального уровня (OCP)»Отзывов получено 1
Рейтинг курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Рейтинг курса 5.000
Уроки в курсе «Подготовка к Java-сертификации профессионального уровня (OCP)»Количество уроков 170
Время прохождения курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Время прохождения курса
Стоимость курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Стоимость курса 8 600 ₽
Обновления курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Обновления курса
Дата публикации курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Дата публикации курса
Последнее обновление курса «Подготовка к Java-сертификации профессионального уровня (OCP)»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Подготовка к Java-сертификации профессионального уровня (OCP)» 14 разделов Уроки в курсе «Подготовка к Java-сертификации профессионального уровня (OCP)» 170 уроков Время прохождения курса «Подготовка к Java-сертификации профессионального уровня (OCP)» 36 ч. Последнее обновление курса «Подготовка к Java-сертификации профессионального уровня (OCP)» обн. 12 мая 2026

Intro + рекомендации к методике подготовки

5 уроков
1. Почему сертификация --- это лучший подарок самому себе
2. Введение
3. Рекомендации
4. Подготовка учебной среды (апдейт для 2025)
5. Кодовая база, слайды, диаграммы, практич.задачи и т.д.

Тематические группы 1 & 2: Базовый и продвинутый дизайн классов

9 уроков
1. Ключевое слово final
2. Наследование и полиморфизм
3. Перечисляемые дата-типы (enums)
4. Внутренние классы
5. Шаблон Singleton
6. Немутирующие классы
7. Интерфейсы
8. Лямбда-выражения
9. Важный --- даже ГИПЕРВАЖНЫЙ --- комментарий

Тематическая группа 3: Generics и коллекции

22 урока
1. Введение
2. Параметризация
3. Пределы ? extends и ? super
4. Подробнее про extends и super
5. Интерфейсные пересечения
6. Ограниченность дженериков
7. Обзор коллекций в Java
8. Lists (списки)
9. Sets (множества)
10. Утечка памяти из-за equals()
11. Класс TreeSet
12. Maps (отображения, «мапы»)
13. Queues (очереди)
14. Упорядоченные коллекции
15. Асимптотическая сложность и ее последствия
16. Неуместная структура данных (пример с Java Mission Control)
17. Как выполнять сортировку
18. Естественный порядок
19. Подробнее об упорядочении
20. Аккуратней с компаратором!
21. Сортировка: подведем итоги разбора
22. И еще разок про параметризацию с extends

Тематические группы 4 & 5: Встроенные функц.интерфейсы и Stream

20 уроков
1. Введение
2. «Универсальный анализатор» на лямбдах
3. Пакет java.util.function
4. Что такое Stream
5. Метод map()
6. Метод peek() и «короткозамыкающие» операторы
7. Класс Optional
8. Методы для обработки данных
9. Класс Collectors
10. Источники
11. Метод flatMap()
12. Специфика обработки данных в функц.конвейерах
13. Параллельные стримы
14. «Подводные камни»
15. Понятие statefulness
16. Редукция и ее особенности
17. Пример «высушивания» кода на стримах: UniMaxDemo
18. Как сделать distinct() более «разборчивым»
19. Сегментация данных с помощью partitioningBy()
20. Классификация данных с помощью groupingBy()

Кодовый практикум к разделу про ФП

1 урок
1. Лямбда-трейдеры

Факультативные топики к разделу про ФП

3 урока
1. Динамические лямбды
2. Каррированные функции
3. Глубокое погружение в ссылки на методы

Тренировочные вопросы: Тематические Группы 1 – 5

5 уроков
1. Разбор тренировочных вопросов по Группе 1
2. Разбор тренировочных вопросов по Группе 2
3. Разбор тренировочных вопросов по Группе 3
4. Разбор тренировочных вопросов по Группе 4
5. Разбор тренировочных вопросов по Группе 5

Тематическая группа 6: Assertions и обработка исключений

3 урока
1. Обработка исключений и ключевое слово assert
2. (Факультативно) Видеолекция по обработке исключений из OCA-курса
3. Разбор тренировочных вопросов по Группе 6

Тематическая группа 7: Date / Time API

3 урока
1. Хроноклассы в пакете java.time
2. (Факультативно) Видеолекция по хроноклассам из OCA-курса
3. Разбор тренировочных вопросов по Группе 7

Тематическая группа 8: Многопоточность

47 уроков
1. Архитектура фон Неймана
2. Пользовательские процессы
3. Оценка потребного размера ОЗУ
4. Процессы и их роли
5. Сегменты памяти
6. Знакомство с подпроцессами (threads)
7. Подпроцессы пользователя и ОС
8. Сходства и отличия процессов и подпроцессов
9. Что может пойти не так
10. Мониторы
11. Синхронизирующие абстрации
12. Создание подпроцесса
13. Состояния подпроцесса
14. Приоритет подпроцесса
15. Метод join()
16. Метод interrupt()
17. Связка wait() и notify()
18. Ключевое слово volatile
19. Что стоит за volatile
20. Ключевое слово synchronized
21. Блоки синхронизации
22. Статическая блокировка (deadlock)
23. Счетчик с монитором
24. Интерфейс Lock
25. Класс ReentrantLock
26. Атомарный счетчик
27. Паттерн Producer-Consumer на связке wait/notify
28. С Новым годом! на связке wait/notify
29. Паттерн Producer-Consumer на связке Lock/Condition
30. ExecutorService с Runnable
31. ExecutorService с Semaphore
32. ExecutorService с Callable
33. ExecutorService и метод awaitTermination()
34. Класс CyclicBarrier
35. CyclicBarrier в действии
36. Фреймворк Fork/Join
37. Рекурсия: top-down и bottom-up
38. Рекурсия: пример доказательства по индукции
39. Рекурсивное вычисление площади
40. Простейший пример с Fork/Join
41. Бенчмаркинг суммирования на Fork/Join
42. ЭКСТРА: Concurrent, multithreaded и parallel
43. ЭКСТРА: Race Conditions и Data Races
44. ЭКСТРА: Состояние гонки в бинарных семафорах и мьютексах
45. ЭКСТРА: Liveness и синхронизация
46. ЭКСТРА: Знакомство с виртуальными подпроцессами
47. Разбор тренировочных вопросов по Группе 8

Тематические группы 9 & 10: IO и NIO.2

31 урок
1. Механизмы ввода/вывода в Java: базовые концепции
2. Входные и выходные потоки данных
3. Класс File
4. Примеры использования File-объекта
5. Класс FileInputStream
6. Упражняемся с FileInput/OutputStream
7. Класс FilterInputStream
8. Маркировка
9. «Перескок» (skipping over)
10. Буферизованные потоки
11. Класс DataInput/OutputStream
12. Readers и Writers
13. Упражняемся с BufferedReader/Writer
14. Классы PrintStream и PrintWriter
15. Понятие «персистентность»
16. Пример простейшей сериализации
17. Почему персистентность нужна
18. Требования к сериализуемому классу
19. Ключевое слово transient
20. Что такое SerialVersionUID
21. Пример полного цикла персистирования
22. Взаимодействие с пользователем
23. Пользовательский ввод на новый лад
24. Как украсть пароль
25. NIO.2: базовые концепции
26. Интерфейс Path
27. Методы resolve(), relativize() и normalize()
28. Симлинки в NIO.2
29. Манипуляции с файлами и директориями
30. Дополнения в NIO.2 для связки с Stream_API
31. Разбор тренировочных вопросов по Группам 9 и 10

Тематическая группа 11: JDBC

8 уроков
1. JDBC API: базовые концепции
2. Ключевые компоненты JDBC
3. Работа с ResultSet
4. CRUD-операции
5. ЭКСТРА: PreparedStatement и CallableStatement
6. Специфические особенности сертификационных вопросов по JDBC
7. Установка и подключение тренировочной СУБД Apache Derby
8. Разбор тренировочных вопросов по Группе 11

Тематическая группа 12: Локализация приложений

12 уроков
1. Зачем нужна локализация
2. Класс Locale
3. Класс Properties
4. Загрузка и сохранение свойств
5. Класс ResourceBundle
6. Форматирование дат и времени
7. Локализация приложения с календарными датами
8. Иерархия подбора нужного ресурса
9. Скомпилированные ресурсы
10. Форматирование и парсинг чисел
11. Упраженение с локализацией численных данных
12. Разбор тренировочных вопросов по Группе 12

Outro

1 урок
1. Заключительное слово