Язык программирования Java

В течение пяти дней под руководством опытного инструктора студенты последовательно рассмотрят синтаксис языка программирования Java, основы объектно-ориентированного программирования с использованием Java, создание графического пользовательского интерфейса с помощью Swing API, механизмы обработки исключений, организации ввода/вывода, работу с потоками, а также создание сетевых приложений. Каждый модуль курса включает обсуждение теоретических вопросов, которое завершается выполнением лабораторной работы, позволяющей студентам на собственном опыте преимущества и недостатки технологии. Для выполнения лабораторных работ курса будет использоваться Netbeans IDE, что позволит студентам познакомиться с этой замечательной средой разработки, научиться документировать свои проекты, выполнять рефакторинг, отладку и тестирование кода, разрабатывать приложения на платформе Netbeans. Также не будут забыты вопросы использования шаблонов проектирования, ML-проектирования, кодогенерации и антипаттернов.
По завершении тренинга студенты смогут попробовать сдать небольшой практический тест и самостоятельно оценить степень усвоения материала курса и свою готовность к применению полученных знаний на практике.
По завершении тренинга студенты смогут попробовать сдать небольшой практический тест и самостоятельно оценить степень усвоения материала курса и свою готовность к применению полученных знаний на практике.
В ходе тренинга студенты научатся:
  • Создавать объектно-ориентированные Java-приложения с основных принципов ООП, таких как инкапсуляция, наследование и полиморфизм
  • Компилировать в байт-код и запускать Java-приложения на выполнение
  • Использовать типы данных и выражения
  • Применять механизмы обработки исключений
  • Документировать свои приложения
  • Выполнять рефакторинг существующего кода
  • Отлаживать, тестировать и профилировать свои проекты
  • Проектировать приложения с помощью UML-диаграмм и выполнять кодогенерацию и обратный инжиниринг
  • Создавать графические Java-приложения с использованием соответствующих компонентов Swing API
  • Реализовать ввод/вывод для работы с файловой системой
  • Создавать многопоточные Java-приложения
  • Использовать сокеты для организации взаимодействия в реальном времени по протоколу TCP/IP
  • Разрабатывать приложения для платформы Netbeans
Целевая аудитория
Курс предназначен для программистов, уже имеющих некоторый опыт разработчки с использованием других языков и технологий программирования и заинтересованных в изучении языка Java, плюс возможно, планирующих сертифицироваться на получение статуса Oracle Certified Professional, Java Programmer.
  • Утилитные пакеты
    • Форматирование и время 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ч)
Код экзамена
Стоимость без НДС16 800 грн.
Ближайшие даты
  • 16.12.2019
  • 27.01.2020
  • 09.03.2020
spinner-it