Профессиональное программирование на языке Java
Цели и задачи дисциплины
В результате изучения дисциплины слушатели должны познакомиться со стандартными библиотеками языка Java, и их примением.
В результате изучения дисциплины слушатели должны знать
- основные библиотеки и технологии языка Java,
- многопоточное программирование в языке Java,
- создание пользовательского интерфейса на Java.
- работа с XML на Java,
- писать программы на языке Java с использованием основных библиотек и технологий,
- писать эффективные многопоточные приложения на языке Java,
- писать консольные и графические приложения на языке Java.
Содержание разделов дисциплины
- Ant, Jad и Jar и их применение. Build-скрипты. Цели build-скриптов. Задачи build-скриптов. Байт-код, декомпиляция, обфускация. Jad. Jar. Модули. Class-path, Restricted-class-path
- Стандартные коллекции. Списки. Множества. Отображения. Упорядоченные коллекции. Вспомогательные классы. Устаревшие коллекции.
- Дженерики. Понятия о дженериках. Применение дженериков. Аспектно-ориентированное программирование. Создание классов-дженериков. Создание методов-дженериков. Смешение кода с дженериками и без, boxing.
- Ввод-вывод и кодировки. Введение в потоки ввода-вывода. Файловые потоки. Фильтрация потоков. Буферизованные потоки. Эмуляция ввода-вывода. Потоки с возвратом. Конвертация потоков. Дескприпторы файлов.
- Сетевые библиотеки. Высокоуровневые соединения. Классы URL и URI. Классы URLConnection и HttpURLConnection. Низкоуровневые соеденения. Сокеты.
- Многопоточное программирование. Классические задачи многопоточного программирования. Примитивы синхронизации. Многопоточное программирование в Java. Работа с потоками. Cинхронизация потоков. Взаимодействие между потоками. Библиотека Concurrent Utilities.
- Создание программ с графическим интерфейсом. Компоненты и контейнеры. Простейшие компоненты. Окна верхнего уровня. Обработка событий. Активные компоненты. Модели данных.
- Технологии Java Beans и Reflection. Концепция JavaBeans. Введение в RTTI. Загрузка классов. Создание экземпляров классов. Методы и поля.
- Метаданные. Концепция метаданных. Аннотации. Стандартные аннотации. Создание аннотаций. Типы аннотаций. Область действия аннотации. Доступ к аннотациям через reflection.
- Распределенные системы. Технологии RMI, Marshalling и Serialization. Сериализация. Введение в RMI. Применение RMI. Сериализация как Маршаллинг.
- Локализация программ. Введение в локализацию программ. Введение в вопросы локализации. Простейшая локализация. Форматирование. Прочие вопросы локализации.
- XML и Java. XML. DOM. SAX. Создание XML вручную. Определение структуры XML. DTD. Schema. Валидация XML. Применения XML. Загрузка XML через модель.
Рекомендуемая литература
- Основная литература
- Java. Справочник М.: «Символ-Плюс», 2002
- Технологии программирования на Java 2. Книга 1. М.: «Бином», 2003
- Дополнительная литература