Минск
+375 44 758 02 02
заказать звонок

Продвинутый курс Java

Цель курса Java Core Advanced Topics – подготовить студентов к решению более серьезных задач при программировании на языке Java. Данный курс будет полезен Java Junior Developers, а также тем, кто уже знаком с Java Core и хотел бы получить дополнительные практические знания по ряду тем. Вы получите необходимые для работы в реальных проектах навыки и поймете, что лежит в основе многих популярных фреймворков, как они работают. Вы ознакомитесь с архитектурой платформы JVM internals, изучите Java Reflection, Java Generics и Java Annotations.

После изучения курса Вы сможете:

- Программировать на языке Java на высоком уровне;

- Написать свой загрузчик классов;

- Разработать небольшой IoC-контейнер (маленький Spring);

- Писать модульные тесты и работать по TDD;

- Понимать, что скрывается за понятием Java Memory Model, без чего невозможно писать правильные многопоточные приложения.

Формат обучения: онлайн-уроки с преподавателем индивидуально или в мини-группе

Пробный урок бесплатно

программа обучения

Утилитные пакеты

  • Форматирование и время 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

Экзамен\\Защита программного проекта

 

Минимальные требования:

  • Понимание Java Core
преподаватели курса
Ирина
Образование высшее, БГУ, прикладная математика. Опыт преподавания более 20 лет.
Начните воплощать свои мечты об интересной и оплачиваемой работе вместе с нами сейчас.
ОТЗЫВЫ НАШИХ СТУДЕНТОВ
Αндреев Αртур
Создание сайтов
Я долго шел к выбору профессии.Однако отучившись и проработав по специальности, решил несколько откорректировать ее. Выбрав курсы Web-верстка (HTML, CSS), я практически с нуля научился создавать сайты. Преподаватель очень грамотный, объяснял всё очень доступно. Огромное спасибо за полученные знания!
itstar.by