-
Notifications
You must be signed in to change notification settings - Fork 53
Home
belyiz edited this page Oct 21, 2021
·
59 revisions
Привет!
Это учебный репозиторий для проведения курсов программирования на Java. В данном Wiki размещаются конспекты тем курса и различные вспомогательные материалы и инструкции. В исходном коде этого репозитория можно найти домашние задания для большинства тем.
Всегда буду рад получить любую обратную связь о курсе.
Одна тема на один астрономический час (60 минут)
Тема 0. Введение в курс
- Общая информация о Java
- Hello World приложение
- Создание проекта в Intellij IDEA
- Checkout GItHub репозитория
- Запуск и обзор Hello World приложения
- Общая информация о системах контроля версий
Тема 2. Типы данных
Тема 3. Операторы в Java
- Арифметические операторы
- Битовые операторы
- Операторы сравнения
- Логические операторы
- Операторы присваивания
- Оператор instanceOf
- Тернарный оператор
Тема 4. Управляющая логика
Тема 5. Работа со строками
Тема 6. Введение в ООП
Тема 7. Класс Object и его методы
- Метод toString
- Методы hashCode и equals
- Метод getClass
- Методы wait и notify
- Метод finalize
- Метод clone
- Список литературы/курсов
- Наследование полей и методов
- Запрет наследования
- Неизменяемые классы
- Статичные поля и методы
- Перегрузка и переопределение методов
- Абстрактные классы м методы
- Интерфейсы
- Методы по умолчанию
- Анонимные классы
- Параметрический полиморфизм (generics)
- Что такое дженерики и зачем они нужны
- Дженерик-классы. Создание собственных классов.
- Дженерик-методы. Примеры работы, описание
Тема 13. Java Code Convention
- Не игнорируйте исключения
- Комментарии/Javadoc
- Короткие методы
- Локальные переменные
- Импорты
- Отступы
- Названия полей и методов
- Фигурные скобки
- Длина строки
- Согласованность
- Список литературы/курсов
Тема 14. Java Collection Framework
Тема 15. Списки
Тема 16. Очереди
Тема 17. Карты
Тема 18. Множества
Тема 13. Введение в Spring
- Создание Spring-проекта
- Обзор возможностей фреймворка
- Модули Spring
- Обзор протокола HTTP
- Обзор подходов построения REST API
- Форматы данных (JSON, XML, YAML)
- Паттерн MVC
- Spring-контроллеры
- Шаблонизаторы
- Обзор и подключение Swagger
- Обработка ошибок
- Общая информация о JPA и ORM
- Подключение к базе данных
- Spring-репозитории
- CRUD-операции
- Обзор вариантов кеширования
- Сложные запросы к БД
- Обзор возможностей Spring Cache
- Обзор функциональности
- Сравнение анонимных классов, лямбд и указателей на методы
- Лямбды и указатели на методы как параметры методов и поля классов
- Пул лямбд
- Обзор функциональности
- Spliterator
- Характеристики spliterator'а
- Работа со стримами
Тема 21. Исключения
- Зачем нужны исключения?
- Типы исключений
- Генерация исключений
- Обработка исключений
- Список литературы/курсов
- Потоки ввода и вывода Try-with-resources
- Чтение файла
- Запись в файл
- Создание и удаление файлов
- Временные файлы
- Ввод и вывод на консоль
- Логирование
- Форматирование строк
- Обзор функциональности аннотаций
- Создание аннотаций
- Примеры использования
- Обзор функциональности дженериков
- Дженерик-классы и методы
- Примеры использования
- Рефлексия в Java
- Работа с объектом Class
- Примеры использования
- Стэк
- Куча
- GC
- Сильные 26
- Слабые и мягкие ссылки
- Утечки памяти
- Многопоточность в Java
- Создание потоков
- Жизненный цикл потоков
- Работа с переменными в многопоточной среде
- volatile и synchronized модификаторы
- synchronized ## Блок, мониторы
- Прерывание потоков
- Пул потоков
- Fork-join пул
Нашел ошибку или есть что добавить? Обязательно напиши мне об этом, рад любой обратной связи. А лучше сразу закидывай пулл-реквест!