Java Standard Edition ( Java SE ) Программирование. Базовые технологии (Java-01)

В  данном курсе  даётся  обзор  платформ:  Java Standard  Edition (J2SE / Java SE 8) и Java Enterprise Edition (J2EE / Java EE 7). Рассматриваются основы и концепция программирования на сетевом, многопоточном, объектно-ориентированном языке Java. Рассматриваемые в курсе темы сопровождает большое количество примеров.

Целевая аудитория

  • от начинающих Java программистов до профессиональных разработчиков, заинтересованных в углублении и системтизации своих знаний

Программа курса

Модуль 1. Обзор ключевых Java технологий и их функциональные связи на плаформах:

  • Java Standard  Edition (Java SE 7) ,
  • Java  Enterprise Edition ( J2EE / Java EE 7)

Модуль 2. Платформа Java Standard Edition (Java SE).

  • Объектно-ориентированное программирование (OOP) в Java:
    • Корень всех классов–класс Object.
    • Базовый класс Class.
    • Java классы, структура, синтаксис декларирования.
    • Объекты и объектные переменные. Структура объекта.
    • Создание объектов. Конструкторы объектов.
    • Создание первого Java приложения. Анализ кода.
    • Декларирование полей и методы.
    • Спецификаторы доступа.  Модификаторы.
    • Поля экземпляра. Доступ к полям экземпляра. Примеры.
    • Поля класса.  Доступ к полям класса. Примеры.
    • Конструкторы. Явная инициализация полей. Примеры.
    • Блоки инициализации.
    • Статические методы генерации. Достоинства. Недостатки.
    • Что выбрать: конструкторы или статические методы генерации.
    • Композиция классов и объектов. Примеры.
    • Понятие, уровень и методы корневого класса Object.
    • Объект типа Class содержит информацию о классе. Пример.
    • Клонирование объектов. Механизмы и условия клонирования. Примеры.
    • Поверхностное и глубокое копирование объекта.
    • Сравнение переменных. Оператор equality.
    • Сравнение объектов.   Метод equals.
    • Сравнение ссылок и объектов. Примеры.
    • Сравнение типов.
    • Копирование массивов.
    • Завершение жизненного цикла объекта. Метод finalization.
  • Java интерфейсы.
    • Понятие типа.
    • Интерфейсные переменные.
    • Декларирование интерфейсов. Пример.
    • Свойства интерфейсов.
    • Расширение интерфейсов. Примеры.
    • Маркировка классов пустыми интерфейсами. Примеры.
    • Интерфейсное наследование. Примеры.
    • Множественное интерфейсное наследование. Пример.
    • Пути ввода функциональности в класс.
    • Множественного наследования от реализации.  Примеры.
    • Множественное интерфейсное наследование. Примеры.
    • Мощь интерфейса при проектировании. Пример.
  • Java-сетевой язык. Сетевая динамическая загрузка классов. Загрузчики классов.
    • Загрузчик классов-краеугольных камень Java динамизма.
    • Функциональные возможности загрузчиков классов.
    • Java 2 security architecture.
    • Схема работы аплета.
    • Динамическое связывание классов. Примеры.
    • Действия, выполняемые Jаvа виртуальной машиной.
    • Загрузчики классов. Типы загрузчиков классов.
    • Задачи загрузчиков классов.
  • Аплеты.
    • Когда нужны апплеты.
    • Схема работы аплета.
    • Загрузка Аплетов по Сети. Обеспечение Безопасности.
    • Создание первых аплетов. Анализ жизненного цикла аплета.
    • Примеры.
  • Java потоки управления.
    • Многопоточность и её реализация.
    • Каждый объект Thread описывает единственный поток выполнения.
    • Пример многопоточного приложения.
    • Класс Thread. Конструкторы потоков.
    • JVM создаёт стартующий поток выполнения в приложении.
    • Присваиваем имена потокам. Примеры.
    • Как заставить поток сделать паузу. Примеры приложений.
    • Диагностируем состояние потока. Примеры приложений.
    • Методы ожидания завершения потоков. Примеры приложений.
    • Реализация интерфейса Runnable. Примеры приложений.
    • Понятие о внутренних классах. Доступ к закрытым членам другого класса.
    • Три способа реализации интерфейса Runnable.
  • Синхронизация потоков управления.
    • Необходимость синхронизации.
    • Потоки могут совместно использовать поля класса и экземпляра. Примеры приложений.
    • Как порождается несогласованность данных.
    • Механизм синхронизации в Java.
    • Концепция мониторов и замков.
    • Синхронизируемая операция. 
    • Синхронизированные блоки. Примеры приложений.
    • Доступ к объекту и его состоянию. Примеры приложений.
    • Синхронизированные методы.  Примеры приложений.
    • В каких случаях не следует использовать синхронизацию?
    • Оптимизация многопоточности приложений с помощью пулов потоков. Работа с утилитами пакета Concurrent. Примеры.
    • Взаимодействие потоков. Пример разработки приложения.
    • Примеры разработки современных многопоточных серверных приложений.
  • Сетевое программирование. Сокеты.
    • JAVA и Cеть.  Базовые сетевые классы и интерфейсы.
    • Главные сетевые классы. 
    • Класс InetAddress и его методы.
    • Сокеты TCP/IP Kлиентов. Виды TCP-сокетов.
    • Класс Socket и его методы.
    • Сокеты TCP/IP серверов.
    • Класс ServerSocket и его методы.
    • Простое клиент-серверное приложение. Пример приложения.
    • Схема работы сокетов. Пример приложения.
  • Сериализация Java объектов.
    • Что такое Сериализация и где применяется.
    • Как сериализация может использоваться в RMI.
    • Автоматическая сериализация. Интерфейс Serializable. Пример приложения.
    • Сериализация Объектного графа. Пример приложения.
    • Что необходимо для восстановления объекта? Пример приложения.
    • Управление процессом сериализации. Интерфейс Externalizable.
    • Управление процессом сериализации посредством ключевого слова transient.  Пример приложения.
  • Работа с удалёнными объектами (Remote Method Invocation, RMI-IIOP).
    • Модель распределённых объектов. 
    • Различия в поведении локальных и распределенных объектов.
    • Архитектура механизма RMI.
    • Классы и интерфейсы механизма RMI.
    • Соглашения о передаче данных.
    • Динамическая загрузка классов.
    • Конфигурирование RMI – механизма.
    • Разработка RMI клиент-серверного приложения. Примеры.
    • Технология RMI-IIOP.
  • Применение встроенного EJB контейнера для исполнения EJB приложения на платформе Java SE.
    • Разработка клиент серверного приложения на базе компонентов EJB 3.1, Java Persistense API (JPA 2) и Java Context and Dependency Injection (CDI).

Начало занятий

  • по мере набора группы

Информация о курсе

Вендор: Java
Код курса: Java-01
Продолжительность: 5 дней / 40 часов
Направление: Сквозной курс от А до Я
Экзамен :
Записаться на курс

Название курса и комментарии*

Ваше имя и фамилия*

Компания*

Телефон*

Email*