-
Notifications
You must be signed in to change notification settings - Fork 0
program
Sergey Yermochenko edited this page Sep 12, 2024
·
4 revisions
- 1. Основы языка программирования Java.
- 1.1. Понятие JVM: байт-код, структура памяти (Stack, Heap), сборщик мусора.
- 1.2. Типы данных: примитивные и ссылочные типы.
- 1.3. Переменные и ключевое слово
var. - 1.4. Операторы. Выражения. Управляющие конструкции (ветвления и циклы).
- 1.5. Классы-оболочки.
- 1.6. Массивы.
- 2. Основы объектно-ориентированного программирования.
- 2.1. Классы. Объекты.
- 2.2. Пакеты.
- 2.3. Поля.
- 2.4. Модификатор
finalдля полей, параметров, локальных переменных. - 2.5. Методы: передача параметров в методы, возврат значений из методов.
- 2.6. Методы с переменным числом параметров.
- 2.7. Ключевое слово
this. Статические поля и методы. - 2.8. Блоки инициализации и статические блоки инициализации.
- 2.9. Конструкторы.
- 2.10. Использование ключевого слова
thisв конструкторах. - 2.11. Инкапсуляция. Области видимости и модификаторы доступа. Get-теры и set-теры.
- 2.12. Immutable-классы.
- 2.13. JavaBeans.
- 2.14. Наследование.
- 2.15. Наследование vs композиция.
- 2.16. Приведение типов в иерархии наследования.
- 2.17. Класс
Objectкак вершина иерархии классов в Java. - 2.18. Оператор
instanceofи методObject.getClass(). - 2.19. Конструкторы при наследовании.
- 2.20. Ключевое слово
superв методах и конструкторах. - 2.21. Полиморфизм. Перегруженные и переопределённые методы.
- 2.22. Финальные методы и классы.
- 2.23. Перегрузка метода
Object.toString(). - 2.24. Перегрузка методов
Object.equals()иObject.hashCode(). - 2.25. Перегрузка метода
Object.clone(). - 2.26. Абстрактные классы.
- 2.27. Интерфейсы.
- 2.28. Анонимные классы.
- 2.29. Внутренние и вложенные классы.
- 2.30. Функциональные интерфейсы.
- 2.31. Лямбда выражения.
- 2.32. Ссылки на методы.
- 2.33. Перечисления.
- 3. Принципы SOLID.
- 3.1. Single Responsibility Principle - Принцип единственной ответственности.
- 3.2. Open-Closed Principle - Принцип открытости/закрытости.
- 3.3. Liskov Substitution Principle - Принцип подстановки Лисков.
- 3.4. Interface Segregation Principle - Принцип разделения интерфейса.
- 3.5. Dependency Inversion Principle - Принцип инверсии зависимостей.
- 3.6. Многослойная архитектура.
- 3.7. Инверсия зависимостей и внедрение зависимостей.
- 3.8. Шаблоны проектирования Factory Method, Abstract Factory.
- 3.9. Шаблон проектирования Builder.
- 3.10. Шаблон проектирования ServiceLocator.
- 3.11. Понятие IoC-контейнера.
- 4. Обработка исключений.
- 4.1. Иерархия исключений.
- 4.2. Исключения vs ошибки.
- 4.3. Проверяемые и непроверяемые исключения.
- 4.4. Обработка исключений. Блок
try-catch-finally. - 4.5. Объявление генерируемых методом исключений с помощью ключевого слова
throws. - 4.6. Генерация исключительной ситуации с помощью ключевого слова
throw. - 4.7. Собственные исключения.
- 4.8. Пробрасывание и маскирование исключений.
- 5. Maven.
- 6. Модульное тестирование.
- 6.1. Библиотека JUnit. Тестовые методы и аннотация
@Test. Утверждения и классAssertions. - 6.2. Тестирование возникновения исключений.
- 6.3. Изолирование модульных тестов.
- 6.4. Test Driven Development.
- 6.5. Пирамида тестирования.
- 6.1. Библиотека JUnit. Тестовые методы и аннотация
- 7. Журналирование.
- 7.1. Библиотека Log4j. Основные концепции.
- 7.2. Конфигурирование.
- 7.3. Уровни логгирования.
- 7.4. Классы
AppenderиLayout.
- 8. Обработка строк.
- 8.1. Класс
String. Особенности хранения. Строковые литералы. - 8.2. Классы
StringBuilderиStringBuffer. - 8.3. Регулярные выражения. Классы
PatternиMatcher. - 8.4. Локализация и интернационализация. Парсинг и форматирование чисел, дат и времени.
- 8.5. Обработка дат и времени.
- 8.1. Класс
- 9. Коллекции.
- 9.1. Обобщённые классы и обобщённые методы.
- 9.2. Ограничение на обобщённые типы.
- 9.3. Символ
?при описании обобщённых методов. - 9.4. Интерфейсы
IteratorиIterable. Итерация объектов с помощью циклаfor. - 9.5. Интерфейсы
Collection,List,QueueиDeque. КлассыArrayList,LinkedListиArrayDeque. - 9.6. Интерфейсы
ComparableиComparatorи алгоритмы классаCollections. - 9.7. Интерфейсы
SetиMap. КлассыHashSetиHashMap. - 9.8. Особенности переопределения методов
equals()иhashCode(). - 9.9. Особенности переопределения методов
compare()иcompareTo(). - 9.10. Потоковое API.
- 9.11. Функциональные интерфейсы, используемые в потоковом API.
- 9.12. Класс
Optional.
- 10. Потоковый ввод/вывод.
- 10.1. Иерархия потоковых классов. Байтовые и символьные потоки.
- 10.2. Чтение и запись файлов.
- 10.3. Строковые потоки.
- 10.4. Буферизация.
- 10.5. Конвертация потоков.
- 10.6. Блок try-with-resources.
- 10.7. Сериализация.
- 10.8. Форматированный ввод и вывод.
- 10.9. Класс
File.
- 11. Обработка данных в формате JSON.
- 11.1. Формат JSON.
- 11.2. Библиотека Jackson. Преобразование Java-объектов в JSON.
- 11.3. Преобразование JSON в Java-объекты, в том числе в коллекции объектов.
- 12. Реляционные базы данных и SQL.
- 12.1. СУБД PostgreSQL.
- 12.2. Язык SQL: DDL, DML.
- 12.3. Понятие транзакции. Принципы ACID. TCL.
- 13. JDBC.
- 13.1. Понятие драйвера. Установка соединения с СУБД. Интерфейс
Connection. - 13.2. Запросы. Интерфейсы
StatementиPreparedStatement. Выполнение запросов. - 13.3. Обработка результатов запроса. Интерфейс
ResultSet. - 13.4. Соответствие типов данных Java и типов данных SQL.
- 13.5. Работа с транзакциями в JDBC.
- 13.6. Пул соединений.
- 13.7. Шаблон проектирования Data Access Object.
- 13.8. Переменные потока и класс
ThreadLocal.
- 13.1. Понятие драйвера. Установка соединения с СУБД. Интерфейс
- 14. Servlet API.
- 14.1. Понятие сервлета и его жизненный цикл.
- 14.2. Контейнер сервлетов Tomcat, настройка и запуск.
- 14.3. Развёртывание сервлетов в контейнере сервлетов.
- 14.4. Дескриптор развёртывания. Аннотация
@WebServlet. - 14.5. Методы HTTP и их обработка в сервлетах.
- 14.6. Интерфейсы
HttpServletRequestиHttpServletResponse. - 14.7. Понятие HTTP статуса. Методы
setStatus(),sendRedirect()иsendError(). - 14.8. Обработка данных HTML-форм.
- 14.9. Диспетчеризация запросов:
include()иforward(). - 14.10. Передача данных между сервлетами с помощью атрибутов.
- 14.11. Шаблон проектирования Model-View-Controller.
- 15. Java Server Pages (JSP).
- 15.1. Понятие JSP и её жизненный цикл.
- 15.2. JSP-теги.
- 15.3. Expression Language (EL) и библиотека JSP Standard Tag Library (JSTL).
- 15.4. Работа с атрибутами запроса.
- 15.5. Создание пользовательских тегов.
- 15.6. Шаблон проектирования Command.
- 16. HTML. CSS.
- 17. Сессии. Фильтры. События.
- 17.1. Понятие сессии и её жизненный цикл. Настройка сессий.
- 17.2. Аутентификация на основе сессий.
- 17.3. Cookies.
- 17.4. Фильтры. Фильтр для перекодирования запроса.
- 17.5. Фильтр для авторизации.
- 17.6. События и обработчики событий. Инициализация приложения. События входа в систему и выхода из системы.
- 18. REST.
- 18.1. Понятие REST.
- 18.2. Применение методов HTTP при проектировании REST API.
- 18.3. Использование HTTP статусов в REST.
- 18.4. Тестирование REST API в Postman.
- 19. JavaScript.
- 19.1. Базовые понятия JavaScript.
- 19.2. Работа с DOM.
- 19.3. Функция как объект.
- 19.4. Синхронные и асинхронные методы.
- 19.5. Понятие
Promise. - 19.6. Ключевые слова
asyncиawait. - 19.7. Fetch API и работа с REST API.
- 20. Spring Framework.
- 20.1. Основные понятия Spring Framework.
- 20.2. Spring MVC.
- 20.3. Spring Data JPA.