Профессиональное программирование на JAVA

Информация о курсе:
Длительность курса: 3 месяца (67,5 часов)
Вечерние группы: 27 занятий х 2,5 часа
Субботние группы: 15 занятий х 4,5 часа
Дата начала курса:
5 февраля 2019г. 18:45-21:15
(вторник, четверг)
Если вы уже изучали язык программирования Java в университете, коммерческих учебных заведениях, на онлайн-курсах или самостоятельно, ознакомьтесь с программой курса «Основы программирования на JAVA» и убедитесь, что вы владеете 70-100% учебного материала. В этом случае рекомендуем вам продолжить обучение на курсе «Профессиональное программирование на JAVA». Если же у вас возникают какие-то сомнения, звоните, наши тренеры помогут вам сориентироваться при выборе необходимого курса.
Обработка исключительных ситуаций.
- Модели обработки ошибок. Генерирование исключительной ситуации. Классификация исключительных ситуаций. Конструкция try-catch-finally. Использование ключевых слов throws и throw. Создание пользовательских исключений.
Интерфейсы.
- Понятие интерфейса. Свойства интерфейсов.
- Применение интерфейсов для проектирования системы. Паттерны Callback и Delegate.
Клонирование объектов.
- Глобальный суперкласс Object и его методы.
- Глубокое и поверхностное копирование объектов. Интерфейс Cloneable.
- Инициализация объектов с переменным числом атрибутов. Паттерн Builder.
Работа с файлами.
- Пакет java.io. Класс File. Работа с файлами и каталогами. Чтение данных из файла и запись данных в файл. Классы FileReader, FileWriter, BufferedReader и BufferedWriter.
- Исключительные ситуации, возникающие при обращении к файлам.
- Интерфейсы FileFilter, FilenameFilter.
Сериализация объектов.
- Области применения сериализации. Интерфейсы Serializable и Externalizable.
Обобщенное программирование (Generics).
- Понятие и назначение обобщенного программирования. Обобщенный класс. Экземпляр обобщенного типа. Обобщенные методы. Ограничения обобщений. Наследование обобщенных типов.
Аннотации в Java.
- Использование встроенных аннотаций. Создание собственных аннотаций.
Работа с базами данных.
- Основы работы с базами данных. Понятие и назначение баз данных (БД) и систем управления базами данных (СУБД). Наиболее используемые СУБД. Реляционные базы данных. Основные понятия теории баз данных. Проектирование баз данных. Типы данных, хранимых в БД. Нормальные формы. Обеспечение целостности данных.
- Основы языка структурированных запросов SQL. Назначение и использование SQL. Создание базы данных (оператор CREATE). Модификация данных (операторы INSERT и UPDATE). Выборка данных (оператор SELECT). Выборка из нескольких таблиц. Выборка с условием (оператор WHERE). Сортировка данных (оператор ORDER BY). Группировка данных (оператор GROUP BY).
- Запросы на соединение, объединение, вычитание таблиц.
- Пакет java.sql. Установка соединения с базой данных. Классы Connection, Statement и ResultSet.
- Паттерн проектирования DAO. Работа с базами данных с использованием технологии ORM.
Коллекции.
- Классы коллекций. Интерфейсы коллекций. Интерфейс Collection. Интерфейсы Iterator и Iterable.
- Интерфейсы List, Set, SortedSet, Queue. Классы Vector, Stack, ArrayList, LinkedList, HashSet, TreeSet.
- Интерфейсы Comparable и Comparator.
- Интерфейс Map.
Журналирование (логгирование) работы программы.
- Пакет java.util.logging
- Пакет log4j
Потоки.
- Понятие многопоточного приложения. Класс Thread. Интерфейс Runnable и особенности его реализации. Приоритеты потоков. Методы join(). Прерывание работы потока. Синхронизация потоков. Синхронизированные методы. Понятие монитора. Ключевое слово synchronized и его формы.
- Интерфейс Callable. Блокирующие очереди.
- Артефакты пакета java.util.concurrent : Semaphore, CountDownLatch, Executor, Barrier, Exchanger
- Атомарные переменные.
Основы XML.
Структура XML-документа. Синтаксический анализ XML-документов. Проверка достоверности XML-документов. XPath. Пространство имен. Потоковые синтаксические анализаторы. Формирование XML-документов. Маршаллизация и демаршаллизация.
Основы web-программирования.
- Создание сервлетов.
- Установка сервера приложений Tomcat. Создание сервлета. Основы технологии Java Server Pages(JSP). Custom Tag, JNDI.
- Создание веб-сервисов.
- Понятие веб-сервиса. Технологии создания веб-сервисов. Описание веб-сервиса с помощью WSDL. Использование веб-сервиса в клиентском приложении.
Практические задания курса: Разработка итогового проекта - многопоточного параметризованного статистического симулятора.

