Профессиональное программирование на языке Java

Цели и задачи дисциплины

В результате изучения дисциплины слушатели должны познакомиться со стандартными библиотеками языка Java, и их примением.

В результате изучения дисциплины слушатели должны знать

уметь

Содержание разделов дисциплины

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

Рекомендуемая литература