1. Вводный модуль
- Какие бывают программы.
- Где и для чего применяется Java.
- Как выглядит программный код.
- Установка среды разработки.
- Исправляем готовое приложение.
- Пишем консольное приложение.
2. Синтаксис языка
- Что вообще бывает в коде.
- Переменные в Java.
- Boolean, операторы сравнения и условные операторы.
- Циклы.
- Разбираем сложный код.
3. Объекты и классы
- Понятие класса и объекта.
- Метод, параметры, return.
- Статические методы и переменные.
- Константы и Enum.
- Создание объектов и конструктор.
- Инкапсуляция, геттеры и сеттеры.
- Копирование объектов.
- Внешние библиотеки классов.
- Создание JAR-файлов.
4. Числа, строки, даты
- Объекты и примитивы.
- Зачем нужны объекты и примитивы.
- Значения по умолчанию.
- Boxing и unboxing.
- Какие бывают числа.
- Биты и байты.
- Числа int и double.
- Точность чисел с плавающей точкой.
- Преобразование чисел разных типов.
- Преобразование строки в число и обратно.
- Какие бывают операции с числами.
- Инкремент и декремент.
- Класс Math.
- Символы и кодировки.
- Специальные символы.
- Методы класса String.
- Конкатенация строк.
- Сравнение строк.
- Регулярные выражения.
- Календарь и метка времени.
5. Массивы и коллекции
- Создание массивов.
- Перебор элементов массивов.
- Обход массивов в обратном порядке.
- Массивы массивов.
- Списки элементов.
- Наборы уникальных элементов.
- HashMap и TreeMap.
- Поиск и сортировка.
6. Наследование и полиморфизм
- Наследование классов Java.
- Доступ к методам и переменным.
- Абстрактные классы.
- Интерфейсы.
- Полиморфизм.
- Интерфейс Comparable.
- Интерфейс Comparator.
- Краткая реализация интерфейсов.
- Интерфейсы Map и Set.
7. Особенности ООП в Java
- Лямбда-выражения.
- Указатели на методы.
- Метод forEach.
- Способы получения Stream.
- Sorted, max, min.
- Map reduce.
- Static- и default-методы в интерфейсах.
- Generics.
- Система сборки Maven.
- Репозиторий Maven.
- Аннотации и Lombok.
8. Исключения, отладка, тестирование и логирование
- Возникновение исключений.
- Отлов исключений.
- Типы исключений.
- Отладка приложений.
- Виды тестирования ПО.
- Модульное тестирование.
- Логирование в консоли.
- Логирование с помощью log4j2.
9. Работа с файлами и сетью
- Класс File.
- Чтение файлов с помощью FileInputStream.
- Чтение файлов с помощью BufferedReader.
- Чтение файлов с помощью класса Files.
- Запись в файл.
- Табличные файлы.
- Структура XML и HTML-файлов.
- Парсинг HTML-файлов.
- Формат JSON и парсинг JSON-файлов.
- Конфигурационные файлы.
10. Работа с MySQL в Java
- Установка MySQL.
- Подключение через JDBC.
- Запросы без ResultSet.
- Hibernate: подключение и настройка.
- Hibernate: изменение данных в базе.
- Связи ManyToOne и OneToMany.
- Связь ManyToMany.
- Hibernate query builder.
- Ленивая загрузка данных.
- Where и OrderBy.
- HQL.
11. Многопоточность
- Зачем нужна многопоточность.
- Класс Thread.
- Интерфейс Runnable.
- Состояние гонки и критические секции.
- Атомарные переменные.
- Ключевое слово Volatile.
- Synchronized-методы.
- Synchronized-блоки.
- Взаимодействие потоков — методы Wait и Notify.
- Потокобезопасные классы.
- Взаимная блокировка — Deadlock.
- Интерфейс Callable.
- Executors, Executor и ExecutorService.
- Метод Shutdown.
- ThreadPoolExecutor.
- SheduledExecutorService.
- Приостановка и прерывание потоков.
- ForkJoinPool и RecursiveTask.
12. Разработка веб-приложений
- Создание Maven-проекта.
- Создание приложения на Spring Boot.
- Создание первого контроллера.
- Концепция MVC.
- RESTful API и CRUD.
- Создание контроллера.
- Request, response и статусы ответов.
- Подключение к БД и создание сущности.
- Репозиторий и добавление элементов в БД.
- Получение данных из БД.
- Изменение и удаление данных в БД.
- View и подключение шаблонов.
- Параметры конфигурации.
- Упаковка приложения в JAR-файл.
13. Нереляционные базы данных и очереди
- Введение.
- Основы Redis, простейшие команды.
- Сложные структуры данных в Redis.
- Сравнение Redis и MySQL.
- Базовые возможности MongoDB.
- Агрегация данных в MongoDB.
14. Производительность и оптимизация
- Факторы производительности.
- Преждевременная оптимизация.
- Что нужно оптимизировать.
- Длительность конкатенации строк.
- Буферизация.
- Два принципа оптимизации по времени.
- Какую память нужно экономить.
- Память можно не экономить.
- Память и разные структуры данных.
- Чем меньше запросов, тем лучше.
- Multiinsert.
- Утечка памяти.
- Индексация и оптимизация запросов.
- Кэширование запросов.
- Хранение данных.
15. Распределённые хранилища и вычисления
- Что такое большие данные.
- Файловая система HDFS.
- Практическая работа с HDFS.
- Концепция MapReduce.
- Фреймворк Apache Spark.
- Установка Spark.
- Запуск в Spark собственного приложения.
- Запуск приложения обработки текста.
- Модуль YARN.
16. Заключительный модуль
- Desktop-приложения: создание интерфейса.
- Desktop-приложения: события и их обработка.
- Desktop-приложения: кастомизация интерфейса.
- Android-приложения.
- Язык программирования Scala.
- Язык программирования Kotlin.
- Реактивное программирование. RxJava.
17. Бонус-модуль. Паттерны проектирования
- Что такое паттерны проектирования.
- Паттерн Singleton.
- Паттерн Factory.
- Паттерн Abstract Factory.
- Паттерн Decorator.
- Паттерн Adapter.
- Паттерн Bridge.
- Паттерн Strategy.
- Паттерн Observer.
- Паттерн Iterator.
- Другие паттерны.
18. Бонус-модуль. Введение в алгоритмы
- Введение в алгоритмы
- Зачем нужны алгоритмы
- Рекурсивные алгоритмы
- Временная сложность алгоритмов
- Алгоритм бинарного поиска
- Алгоритм сортировки пузырьком
- Алгоритм сортировки QuickSort
- Алгоритм сортировки MergeSort
- Алгоритм поиска подстроки Рабина-Карпа
- Алгоритм поиска подстроки Кнута-Морриса-Пратта
- Алгоритм поиска подстроки Бойера-Мура.
19. Бонус-модуль. Введение в структуры данных
- Введение в структуры данных
- Зачем нужны структуры данных
- Хэш-таблицы
- Очередь и стэк
- Связные списки
- Бинарное дерево
- Суффиксное дерево
- Графы.
20. Бонус-модуль. Протокол HTTP
- Протокол HTTP. Запрос и ответ
- Методы HTTP-запросов GET и POST
- Другие методы HTTP-запросов
- Статус-коды HTTP-ответов
- Адресация сетевых ресурсов
- HTTP-заголовки
- Версии протокола HTTP и HTTPS.
Для кого этот курс:
- Начинающих программистов
- Новичков
Оплата
Цены, указанные на сайте, являются окончательными и не требуют доплат. Все налоги включены в стоимость товара. Если у вас возникают проблемы с оплатой, то можете написать в чат на сайте, и мы оперативно решим проблему.
Оформление заказа
После выбора товара нажмите кнопку В корзину — товар добавится в вашу корзину.
Далее, если вы закончили выбирать товар, нажмите кнопку ваша корзина.
На странице ваша корзина будут перечислены все выбранные вами товары.
В колонке Действия над каждым товаром можно произвести следующие действия: либо удалить товар из корзины, либо отложить товар в Избранное.
Также можно ввести Промокод скидки в соответствующее поле (В нашем магазине довольно часто проходят распродажи, поэтому рекомендуем подписаться на наши новости)
Оформление и подтверждение заказа
После ввода необходимой информации для оформления заказа вам нужно нажать кнопку Оформить заказ.
Если вы хотите оплатить свой заказ банковской картой, то выбрать способ оплаты Visa/Mastercard и ввести данные.
После оплаты, обязательно дождаться полного подтверждения платежа и автоматического возврата в наш интернет-магазин.
Ссылка для скачивания вашего материала будет выслана на ваш e-mail, указанный при оформлении заказа, а также появится в Личном кабинете в разделе Мои тренинги, где у вас будет постоянный доступ к материалам.
Внимание! Неправильно указанный адрес электронной почты может привести к дополнительной задержке! Пожалуйста, внимательно проверяйте ваши персональные данные при регистрации и оформлении заказа.
Если вы ищите качественное образование, добро пожаловать в Skillbox. Этот университет даст вам билет в успешную, полную побед и достижений жизнь.
- Комментарии