Home - BelyiZ/JavaCourses GitHub Wiki
Привет!
Это учебный репозиторий для проведения курсов программирования на Java. В данном Wiki размещаются конспекты тем курса и различные вспомогательные материалы и инструкции. В исходном коде этого репозитория можно найти домашние задания для большинства тем.
Всегда буду рад получить любую обратную связь о курсе.
Программа курса:
Одна тема на один астрономический час (60 минут)
Блок 0. Введение
Тема 0. Введение в курс
Тема 1. Введение в Java
- Общая информация о Java
- Hello World приложение
- Создание проекта в Intellij IDEA
- Общая информация о системах контроля версий
- Checkout GItHub репозитория
Блок 1. Процедурное программирование
Тема 2. Типы данных
Тема 3. Операторы в Java
- Арифметические операторы
- Битовые операторы
- Операторы сравнения
- Логические операторы
- Операторы присваивания
- Оператор instanceOf
- Тернарный оператор
Тема 4. Управляющая логика
Тема 5. Работа со строками
Блок 2. Основы ООП
Тема 6. Введение в ООП
Тема 7. Класс Object и его методы
- Метод toString
- Методы hashCode и equals
- Метод getClass
- Методы wait и notify
- Метод finalize
- Метод clone
Тема 8. Инкапсуляция
Тема 9. Наследование и static
- Объявление и синтаксис наследования
- Абстрактные классы
- Обобщение
- Перегрузка и переопределение методов
- Композиция и агрегирование
- Приведение типов
- Upcasting и Downcasting
- Пример инструкции instanceof
- Наследование полей и методов
- Статичные поля и методы
- Статический метод
- Особенности использования статических методов, полей и классов
Тема 10. Полиморфизм
- Перегрузка и переопределение методов
- Абстрактные классы и методы
- Интерфейсы
- Параметрический полиморфизм (generics)
Тема 11. Параметрический полиморфизм Generics
Тема 12. Enum Перечисления
- Конструкция Enum
- Перечисление это класс
- Элементы перечисления
- Название и порядковый номер элемента Enum
- Рекомендации в случае использования Enum
- Случаи использования Enum
- Примеры использования Enum
Тема 13. Паттерны
- Что такое Шаблоны проектирования (Паттерны)
- Порождающие шаблоны
- Поведенческие шаблоны
- Структурные шаблоны
Тема 14. Java Code Convention
- Не игнорируйте исключения
- Комментарии/Javadoc
- Короткие методы
- Локальные переменные
- Импорты
- Отступы
- Названия полей и методов
- Фигурные скобки
- Длина строки
- Согласованность
Блок 3. Коллекции
Тема 15. Java Collection Framework
Тема 16. Списки
Тема 17. Очереди
Тема 18. Карты
Тема 19. Множества
Блок 4. Stream API
Тема 20. Лямбды
Тема 21. Указатели на методы
- Ссылки на методы
- Ссылка на статический метод
- Ссылка на нестатический метод конкретного объекта
- Ссылка на нестатический метод любого объекта конкретного типа
- Ссылка на конструктор
Тема 22. Stream
Тема 23. Spliterator
Блок 5. Ввод/вывод
Тема 24. Исключения
Тема 25. Работа с файлами
- Потоки ввода и вывода
- Try-with-resources
- Чтение файла
- Запись в файл
- Создание и удаление файлов
- Временные файлы
Тема 26. Работа с консолью и логами
Блок 6. Более продвинутые возможности языка
Тема 27. Аннотации
Тема 28. Рефлексия
Блок 7. Модель памяти
Тема 29. Структура памяти
Тема 30. Ссылки
Блок 8. Многопоточность
Тема 31. Введение в многопоточность
Тема 32. Конкуренция
Тема 33. Работа с потоками ForkJoinPool
- Принцип работы ForkJoinPool
- Модель ForkJoin
- Внутреннее устройство ForkJoinPool
- Создание экземпляра ForkJoinPool
- ForkJoinTask
- Отправка задач в ForkJoinPool
- Рекомендации в случае использования ForkJoinPool
- Случаи использования ForkJoinPool