Курсы Java SE11 and Java EE8
Курс "Java Standard Edition 11 (Java SE11). Язык программирования Java, базовый курс
В предлагаемом курсе изучается платформа Java Standard Edition 11 (Java SE11) и дается описание синтаксиса языка Java, основ объектно-ориентированного программирования для лиц, начинающих изучение языка Java
Длительность курса: 5 дня. Курс проводится в офисе компании заказчика или дистанционно.
Стоимость - 5000 рублей в день с каждого слушателя. При большой группе возможны скидки. Максимальный размер одной группы 10-15 человек.
На курсе изучаются следующие темы: понимание классов и объектов, абстрактных классов, интерфейсов, наследования, основные пакеты Java, система исключений, класс String, интерфейс Collections, ввод-вывод, класс Class, загрузка классов, механизм Reflection, сериализация объектов, клонирование объектов, работа с аннотациями в Java, настраиваемые классы или Generics в Java, основы многопоточного программирования, основы программирования для сетей, сборка Java проектов – Ant, Maven и Gradle, переход от Java SE к Java EE.
Программа курса
Модуль 1. Введение в Java, обзор платформ и технологий. Функциональные связи.
- Введение в Java. История создания. Преимущества.
- Java Standard Edition 11 (Java SE11). Новые возможности.
Модуль 2. Синтаксис Java
- Словарь Java.
- Примитивные и объектные типы в Java.
- Операторы.
- Управляющие структуры.
- История развития языка, нововведения от JDK 1.5 до последней редакции.
Модуль 3. Объектно-ориентированное программирование (OOP) в Java
- Процедурное и объектно-ориентированное программирование. Инкапсуляция.
- Объекты и объектные переменные. Сборка мусора.
- Пакеты. Уровни видимости классов. Импорт классов.
- Введение в NetBeans и IntelliJ IDEA.
- Документирование кода в Java. Javadoc.
Модуль 4. Наследование и полиморфизм, базовый класс Object
- Построение иерархии классов. Диаграммы классов UML.
- Методы. Модификаторы. Передача примитивных типов в методы.
- Локальные и глобальные переменные.
- Модификаторы доступа и правила видимости. Зарезервированное слово this.
- Передача ссылочных типов в методы.
- Наследование. Суперклассы и подклассы. Переопределение методов.
- Наследование и правила видимости. Зарезервированное слово super.
- Статическое и динамическое связывание методов. Полиморфизм.
- Базовый класс Object.
- Конструкторы. Зарезервированные слова super и this.
- Блоки инициализации.
- Удаление неиспользуемых объектов и метод finalize.
- Проблема деструкторов для сложно устроенных объектов.
- Перегрузка методов.
- Правила совместимости ссылочных типов. Приведение и проверка типов.
- Рефакторинг.
- Реверс-инжиниринг.
Модуль 5. Интерфейсы в Java
- Проблемы множественного наследования классов. Интерфейсы.
- Отличия интерфейсов от классов. Наследование интерфейсов.
- Пример использования интерфейсов.
- Композиция как альтернатива множественному наследованию.
Модуль 6. Встроенные классы
- Вложенные (Nested) классы.
- Внутренние (Inner) классы.
- Локальные (local) классы.
- Анонимные (безымянные) классы и обработчики событий.
Модуль 7. Исключения в Java
- Система исключения в Java.
- try-with-resources: нововведения JDK 1.7.
- Assertions или проверка утверждений.
Модуль 8. Основные пакеты и интерфейсы Java
- Обзор основных пакетов Java.
- Массивы в Java.
- Классы String, StringBuffer, StringBuilder, StringTokenizer.
- Классы ввода-вывода. Файловый ввод-вывод.
Модуль 9. Generics или настраиваемые классы в Java
- Понимание настраиваемых классов или Generics.
- Написание кода, поддерживающего Generics.
Модуль 10. Коллекции в Java
- Интерфейс Collections.
- Практическое применение Generics.
Модуль 11. Аннотации в Java
- Понимание аннотаций.
- Создание собственных аннотаций.
- Обработка аннотаций.
Модуль 12. Улучшения языка java, появившиеся в JDK1.5 - 1.9
- Автоматическая упаковка и распаковка.
- Перечислимый тип enum.
- Улучшенные языковые конструкции (циклы for).
- Аргументы переменной длинны.
- Изменения в интефейсах.
- Класс Optional.
- Литералы коллекций.
- Изменения в try-with-resources.
Модуль 13. Лямбда-выражения, функциональные интерфейсы и Streaming API в JDK 1.8
- Понимание лямбда-выражений в java, функциональные интерфейсы.
- Новый Streaming API.
- Практическое применение.
Модуль 14. Загрузчики классов в Java и API Reflection
- Порядок действий VM при загрузке класса.
- Способы загрузки классов.
- Создание собственного загрузчика классов.
- Пример создания загрузчика зашифрованных классов.
- Загрузка классов методом forName (…).
- Создание объектов класса Class.
- Исследование объекта.
- Класс java.lang.reflect.Method. Пример приложения.
- Компилирование исходного текста из приложения Java. Пример.
- Выгрузка и Перезагрузка Классов. Пример приложения.
- Приложение RunItReload , выгружающее и загружающее классы.
- Загрузка классов через Сеть. Класс URLClassLoader.
Модуль 15. Сериализация Java-объектов
- Что такое Сериализация и где применяется.
- Как сериализация может использоваться в RMI.
- Автоматическая сериализация. Интерфейс Serilizable .Пример.
- Сериализация с применением интерфейса Externalizable. Пример.
- Восстановления объекта и Reflection. Пример приложения.
- Управление сериализацией посредством transient. Пример приложения.
- Альтернатива Externalizable – методы writeObject() и readObject().
- Сериализация static членов классов.
- Глубокое клонирование объектов через сериализацию. Пример с Reflection.
Модуль 16. Введение в многопоточное программирование
- Введение в многопоточную архитектуру.
- Базовые классы для работы с потоками – класс Thread, интерфейс Runnable.
- Синхронизация, Блокировки.
Модуль 17. Введение в сетевое программирование
- Введение в сетевое программирование, сокеты.
- Классы Soket и ServerSocket, написание простого сетевого клиента и сервера.
Модуль 18. Модульная структура java приложений в JDK 1.9
- Понимание модульной структуры приложений в java 11.
Модуль 19. Сборка Java программ: Ant, Maven и Gradle
- Сборка java-проектов при помощи средств Ant, Maven и Gradle.
Модуль 20. От Java SE к Java EE
- Знакомство с платформой Java EE, понимание взаимосвязей с Java SE, новые возможности Java EE8.