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

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

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

Длительность курса 42 часа (14 занятий). Занятия проходят в вечернее время 2-3 раза в неделю.

Приобретаемые знания и навыки

  • Программировать на языке Java на высоком уровне
  • Написать свой загрузчик классов
  • Разработать небольшой IoC-контейнер (маленький Spring)
  • Писать модульные тесты и работать по TDD
  • Понимать, что скрывается за понятием Java Memory Model, без чего невозможно писать правильные многопоточные приложения

Программа курса

  • Утилитные пакеты
    • Форматирование и время java.util, java.time
    • Файловая система, java.io, Externalizable, java.nio
    • Неизменяемые объекты
    • Сериализация и десериализация данных
  • Java 8. Анонимные функции. Stream API
  • GIT. Контроль версии. Локальные системы контроля версий. Централизованные системы контроля версий. Распределенные системы контроля версий
  • Maven. Автоматизация сборки Java-проектов. Декларативное описание проекта. Управление зависимостями. Артефакты jar, war, ear. Правила разработки собственных фреймворков и библиотек
    • Ant the Java legacy build tool
    • Maven POM
  • Модульное тестирование
    • Правила и принципы
    • TDD
    • Дублеры
    • Mockito & PowerMock
  • Java Annotations
  • Java Reflection
  • Advanced Generics
    • Причины улучшения подсистемы типов
    • Raw Types
    • Wildcards, <? super T>, <? extends T>
    • Type Erasure
    • Получение информации о типе generic в runtime
    • Дообработка собственной коллекции
  • Advanced Collections
    • Data Structure Complexity
    • WeakHashMap и другие
    • Сторонние библиотеки коллекций
  • Advanced Multithreading/Concurrency
    • Низкоуровневый API
    • Waiting/blocked/sleeping-потоки; состояние потока “dead”
    • Получение результатов выполнения многопоточных вычислений. Метод join()
    • Синхронизация: синхронизация методов. Синхронизационные блоки.
    • Блокирование. Взаимодействие потоков (Thread Interaction)
    • Синхронизация потоков, взаимодействие потоков, шаблон “Producer-Consumer”
    • Особенность реализации volatile
    • Java Memory Model (JMM)
    • Публикация объектов
    • Высокоуровневый API
    • Библиотека java.util.concurrent
  • Advanced OOP
    • SOLID (базовые принципы объектно-ориентированного программирования). Dependency injection (DI) and Inversion of control (IoC)
  • Design Patterns
  • JRE Security, JVM Internals: платформы, архитектура, байт-код, ClassLoader, garbage collector, средства JVM для защищенного выполнения кода
    • Sandbox
    • Memory Management
    • Performance Optimization
    • Роль JAAS
  • Destop-приложения: технология JavaFX
  • Spring
    • Inversion of Control
    • Доступ к данным
    • Управление транзакциями
  • Работа с XML и JSON
    • Потоковый анализ на основе SAX. Анализ на основе DOM
    • Генерация Java-классов по схеме
    • Валидация. JSON
  • Введение в SQL
    • DDL & DML
    • Primary Key и Foreign Key
    • SQL Types
    • JOINs
    • Database Indexes
  • JDBC
    • Пул соединений
    • Data Access Object
  • Знакомство с Lombok и Log4J
  • Экзамен. Защита программного проекта

Предварительные требования

  • Понимание Java Core
  • Наличие собственного ноутбука/ ПК для занятий из дома

Документ об окончании курса

  • Сертификат Учебного центра Softline об окончании курса и справка об обучении установленного образца: 

Сертификат Softline_образец Cправка

Другие рекомендованные курсы

Информация о курсе

1092 бел. р. с НДС 20%

Вендор: Python, Java, JS и др.
Код курса: Java-Adv
Продолжительность: 14 дня / 42 ак. часа
Направление: Java
Экзамен :
-40%! Создание запросов данных при помощи Transact-SQL
20761
очно | дистанционно, 2-6 ноября; 8-12 февраля
Сертифицированный инженер Veeam v9.5
VMCE v9.5
дистанционно, 2-5 ноября, 21-23 декабря
Администратор Office 365
MS-030T00
дистанционно, 2-6 ноября; 21-25 декабря
Все предложения
Записаться на курс

Название курса и комментарии*

Имя*

Фамилия*

Отчество*

Компания

Телефон*

Email*

Настоящим, в соответствии с ч.2.ст.18 Закона Республики Беларусь от 10.11.2008 N 455-З(ред. от 11.05.2016) "Об информации, информатизации и защите информации", отправляя данную форму, вы подтверждаете свое согласие на сбор, обработку и хранение ООО «СофтЛайнБел» Ваших персональных данных. ООО «СофтЛайнБел» гарантирует конфиденциальность получаемой от Вас информации. Сбор, обработка и хранение персональных данных осуществляется в целях эффективного оказания услуг, исполнения договоров и пр.