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