Продвинутый курс обучения Java

Предлагаемый продвинутый курс обучения Java дает возможность слушателям глубоко освоить язык программирования Java и получить навыки практического создания программ на языке Java.

На занятиях курса обучения Java слушатели знакомятся с применением Java-программ в WEB-приложениях для обеспечения интерактивности при общении пользователя и программы Web-страниц, а также работе корпоративных приложений, взаимодействующих с базами данных. В период обучения на курсах Java особое внимание уделяется обзору передовых Java-технологий (Java Beans, RMI, CORBA). В дальнейшем это позволит самостоятельно осуществлять работу с базами данных, проводить обслуживание и поддержку WEB-сайта, разрабатывать, внедрять и сопровождать корпоративные Интернет-проекты, координировать технологические процессы.

1.Введение.
1.1. История языка Java, его особенности. Java и С++, C++/CLI, C#.NET.
1.2. Эволюция технологии. Платформы JME, JSE, JEE, Java Card. Java Web Start, апплеты, JavaFX.
1.3. Классы и пакеты. Обзор пакетов Java Core.
1.4. Виртуальная машина Java (JVM) и среда исполнения Java-программ (JRE). JDK: основные инструменты.
1.5. Интерпретация байт-кода, JIT-компиляция, управление памятью. Jar-файлы. JRE и CLR. JNI.
1.6. Управление кодом проекта и отладка в популярных интегрированных средах разработки (IDE).
2. Синтаксис языка Java.
2.0. Базовые типы данных и классы-обёртки, autoboxing/unboxing. Логические и побитовые операции. Массивы.
2.1. Методы. Native-методы. Конструкторы, конструктор по умолчанию. Список аргументов переменной длины. Наследование, перегрузка методов. Приведение типов. Оператор instanceof.
2.2. Переменные класса (поля) и переменные метода: декларация, присваивание, инициализация.
2.3. Модификаторы: доступа, final и static. Статический инициализатор (clinit).
2.4. Перечисления.
2.5. Управляющие операторы и конструкции (ветвления, циклы).
2.6. Абстрактные классы. Интерфейсы. Маркерные интерфейсы.
2.7. Исключения.
2.8. Обобщения (шаблоны). Аннотации. Основные аннотации. Reflection API.
2.9. Встроенные классы и интерфейсы. Локальные и анонимные классы.
2.10. Комментарии. Документирование средствами Javadoc.

3. Графический интерфейс пользователя.
3.1. Компонентно-ориентированная архитектура. Getter/Setter методы, JavaBeans.
3.2. Heavyweight- и lightweight-компоненты. Обзор библиотек AWT, Swing, SWT.
3.3. Компонентная модель AWT, Swing. Контейнеры и менеджеры компоновки (Layout).
3.4. Архитектура управляемая событиями, паттерн publish/subscribe, Observable и Observer. События графического интерфейса и их обработка.
3.5. Визуальное программирование графического интерфейса Swing средствами IDE.

4.Многопоточное программирование.
4.1. Нити (потоки выполнения) в Java. Группы и пулы потоков.
Операции над мониторами объектов.
4.2. Синхронизированные методы и блоки. Решение типичных проблем, возникающих при синхронизации: Deadlock, Livelock, Starvation.
4.3. Волатильные переменные. Executors, Locks, очереди, рефакторинг на примере immutable классов. Переменные ThreadLocal.

5. Обмен данными.
5.1. Потоки ввода/вывода. Файлы, буферы, каналы, селекторы. Кодировки. Работа с архивами.
5.2. Межнитевая коммуникация: пайпы.
5.3. Сериализация. JAXB. Работа с данными в формате XML.
5.4. Клиент-серверные приложения: архитектура и реализация (сокеты). URL, URLConnection.
5.5. Взаимодействие с реляционными базами данных через интерфейс JDBC.

6. Дополнительные возможности Java SE.
6.1. Коллекции. Хэширование и деревья, слабые ссылки (weak links), перебор и сравнение элементов.
6.2. Интернационализация и локализация.
6.3. Работа с регулярными выражениями.
6.4. Журналирование.
7. Зачет.

Добавить комментарий