Язык программирования Java
В течение пяти дней под руководством опытного инструктора студенты последовательно рассмотрят
синтаксис языка программирования Java, основы объектно-ориентированного программирования с
использованием Java, создание графического пользовательского интерфейса с помощью Swing API,
механизмы обработки исключений, организации ввода/вывода, работу с потоками, а также создание сетевых
приложений. Каждый модуль курса включает обсуждение теоретических вопросов, которое завершается
выполнением лабораторной работы, позволяющей студентам на собственном опыте преимущества и
недостатки технологии. Для выполнения лабораторных работ курса будет использоваться Netbeans IDE, что
позволит студентам познакомиться с этой замечательной средой разработки, научиться документировать свои проекты, выполнять рефакторинг, отладку и тестирование кода, разрабатывать приложения на платформе Netbeans. Также не будут забыты вопросы использования шаблонов проектирования, ML-проектирования,
кодогенерации и антипаттернов.
По завершении тренинга студенты смогут попробовать сдать небольшой практический тест и самостоятельно оценить степень усвоения материала курса и свою готовность к применению полученных знаний на практике.
По завершении тренинга студенты смогут попробовать сдать небольшой практический тест и самостоятельно оценить степень усвоения материала курса и свою готовность к применению полученных знаний на практике.
В ходе тренинга студенты научатся:
- Создавать объектно-ориентированные Java-приложения с основных принципов ООП, таких как инкапсуляция, наследование и полиморфизм
- Компилировать в байт-код и запускать Java-приложения на выполнение
- Использовать типы данных и выражения
- Применять механизмы обработки исключений
- Документировать свои приложения
- Выполнять рефакторинг существующего кода
- Отлаживать, тестировать и профилировать свои проекты
- Проектировать приложения с помощью UML-диаграмм и выполнять кодогенерацию и обратный инжиниринг
- Создавать графические Java-приложения с использованием соответствующих компонентов Swing API
- Реализовать ввод/вывод для работы с файловой системой
- Создавать многопоточные Java-приложения
- Использовать сокеты для организации взаимодействия в реальном времени по протоколу TCP/IP
- Разрабатывать приложения для платформы Netbeans
- Утилитные пакеты
- Форматирование и время java.util, java.time
- Файловая система, java.io, Externalizable, java.nio
- Java 8. Lambda expressions. Stream API
- GIT. Контроль версий. Локальные системы контроля версий. Централизованные системы контроля версий. Распределённые системы контроля версий
- Maven. Автоматизация сборки Java проектов. Декларативное описание проекта. Управление зависимостями. Артефакты jar, war, ear. Правила разработка собственных фреймворков и библиотек
- Ant the Java legacy build tool
- Maven POM
- Модульное тестирование
- JUnit. Правила и принципы
- TDD
- Дублеры
- Mockito, PowerMock
- Java Annotations
- Java Reflection
- Advanced Generics
- Причины улучшение подсистемы типов
- Raw Types
- Wildcards, ? super T, ? exteds T
- Type Erasure
- Получение информации о generic типе в runtime
- Доработка собственной коллекции
- Advanced Collections
- Data Structure Complexity
- WeakHashMap etc.
- Сторонние библиотеки коллекций
- Advanced Multithreading\Concurrency
- Низкоуровневое API
- waiting / blocked / sleeping-потоки, состояние потока dead
- Получение результатов выполнения многопоточных вычислений. Метод join()
- Синхронизация: синхронизация методов, синхронизационные блоки. Блокировки. Взаимодействие потоков (ThreadInteraction)
- Синхронизация потоков, взаимодействие потоков, шаблон Producer-Consumer
- Особенность реализации volatile
- Java Memory Model (JMM)
- Публикация объектов.
- Высокоуровневое API
- Библиотека java.util.concurrent
- Advanced OOP
- SOLID (basic principles of object-oriented programming and design). Dependency injection (DI) and Inversion of control (IoC)
- GOF patterns
- JRE Security, JVM internals: архитектура платформы, байт-код, class loader, garbage collector, средства JVM для защищенного исполнения кода
- Sandbox
- Memory Management
- Performance Optimization
- Роль JAAS
- Desktop приложения
- JavaFX runtime
- Свойства и связывания
- Наблюдаемые коллекции
- Управление окнами и сценами
- Узлы и стилизация.
- Обработка событий.
- Доступные графические компоненты
- Concurrency: Worker, Task, Service
- FXML
- Spring
- Inversion of Control
- Доступ к данным
- Управление транзакциями
- Работа с XML и JSON
- JAXP. Потоковый анализ на основе SAX. Анализ на основе DOM
- JAXB. Генерация Java-классов по схеме
- JSON. Валидация
- JDBC
- Пул соединений
- Data Access Object
- Экзамен\Защита программного проекта
Для успешного освоения материала курса слушатели должны:
- Иметь представление о принципах объектно-ориентированного программирования
- Уметь создавать и компилировать простейшие C/C++/C#-программы
- Желательно (но не необязательно) также прохождение тренинга "Введение в язык программирования Java (уровень I)"
Запись на курс
Код курса | EA-Java ADV |
---|---|
Длительность | 5д (40ч) |
Код экзамена | |
Стоимость без НДС | 6 700 000 UZS |