spinner-it

Язык программирования 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 грн.
Ближайшие даты
  • 30.11.2020
  • 08.02.2021
  • 19.04.2021