1. Базовые сведения о Java.
- Обзор предстоящего курса.
- Особенности платформы и языка. Виртуальная машина Java.
- Необходимые программы для разработки: JDK, JRE, IDE.
- Различные версии Java: Jave SE, Java EE, Java ME, Android SKD. Модульная система Java
- Создание, компиляция и запуск простой программы на Java. JShell
- Обзор IDE Eclipse и JIdea. Отладка программ.
2. Типы данных. Управляющие конструкции.
- Примитивы и обертки.
- Автоупаковка и распаковка.
- Преобразование типов.
- Строки. StringBuilder
- Операторы.
- If, switch конструкции.
3. Массивы и циклы.
- Работа с массивами: создание, обход, сравнение.
- Введение в коллекции.
- Циклы for, for-each, while, do while
4. Введение в ООП. Классы и объекты.
- Конструкторы и методы.
- Ключевые слова this, final.
- Интерфейсы и абстрактные классы.
- Наследование и полиморфизм.
- Ключевое слово super, аннотация @Override
- Модификаторы видимости.
- Перегрузка и переопределение.
- Пакеты и статический импорт.
- Ключевое слово instanceof, преобразование типов.
- Вложенные классы.
- Перечисления.
5. Принципы объектно-ориентированного дизайна приложений. Интерфейсы или абстрактные классы.
- Композиция или наследование.
- Синглтон.
- Фабричный метод и абстрактная фабрика.
- Паттерн DAO.
6. Обобщения и коллекции.
- Синтаксис Generic в Java.
- Построение сложной модели наследования при помощи обобщений.
- Обобщения в стандартной библиотеке Java: списки, множества, карты.
- Синтаксис Diamond.
7. Работа со строками.
- Методы поиска, разбора строк.
- Регулярные выражения.
- Форматирование строк.
- Классы StringBuilder и StringBuffer.
|
8. Базовый ввод-вывод.
- Запись и чтение из консоли, файла.
- Потоки символьные и байтовые.
- Пакеты java.io, java.nio.
9. Обработка ошибок. Выбрасывание исключений.
- Проверяемые и Runtime исключения.
- Обработка нескольких исколючений.
- Блок finally.
- Освобождение ресурсов при помощи try with resources
- Комманда assert
10. Работа с базой данных с помощью JDBC.
- Архитектура JDBC.
- Соединение с базой, драйвера БД.
- Выполнение запросов.
- Statement и PreparedStatement.
- Пул соединений.
- Транзакции.
11. Работа с файлами.
- Классы File, Path.
- Обход каталога.
- Операции над файлами, символическими ссылками.
- Различные методы чтения и записи файлов.
12. Локализация, дата и время.
- Класс Locale.
- Использование ResourceBundle.
- Работа с датой в Java.
- Форматирование чисел и дат с учетом локали.
13. Многопоточное и реактивное программирование в Java.
- Понятие потока в операционной системе и виртуальной машине Java.
- Создание потоков, жизненный цикл потока.
- Проблемы и их решения в многопоточном программировнии: состояние гонки, блокировки и взаимоблокировки.
- Wait/Notify механизм оповещения потоков.
- java.util.concurrent, коллекции для работы в многопоточной среде.
- Atomic типы.
- Создание потоков через Executor и пул потоков.
- Fork-Join фреймворк.
- Reactive Streams API
14. Лямбда функции и функциональное программирование.
- Функциональные интерфейсы.
- Обобщения в лямбда функциях.
- Ссылки на методы.
- Стандартные функциональные интерфейсы.
- Stream API Стандартные интерфейсы Stream.
- Параллельное выполнение.
- Терминальные и нетерминальные операции.
- Ленивые вычисления.
- Работа с асинхронными вычислениями при помощи CompletableFuture.
Экзамен по первой части курса.
|