Целевая аудитория

  • Разработчики

  • ИТ специалисты

  • Все, кто хочет углубить знания Java и увлекается программированием

Программа
  • Многопоточное программирование. Введение

    • Что такое многопоточное приложение?

    • Минусы многопоточный программ.

    • Инструменты Java для реализации многопоточности.

    • Класс Thread.

    • Использование интерфейса Runnable. Почему не рекомендуется применять наследование?

    • Многопоточное программирование. Реализация

      • Создание потоков.

      • Метод sleep().

      • Ожидание завершения потоков, применение таймаутов.

      • Монитор как средство синхронизации потоков.

      • Многопоточное программирование. Распараллеливание задач

        • Использование потоков для ускорения расчётных алгоритмов.

        • Многопоточные рекурсии.

        • Многопоточное программирование. Современные средства по управлению потоками

          • «Атомарные» типы даных.

          • Потокобезопасные (thread-safe) классы и коллекции.

          • Паттерн пулов потоков (thread pool). Их применение.

          • Синхронизация при помощи замков. Паттерн Lock.

          • Коротко о работе Java с памятью.

          • Разработка графического пользовательского интерфейса

            • Основная концепция GUI.

            • Рабочий и интерфейсный потоки современных приложений.

            • Библиотека Swing

              • Структура оконного приложения.

              • Написание простейшего приложения.

              • Использование потоков в оконных приложениях.

              • Библиотека JavaFX

                • Архитектура MVC.

                • Структура программы на JavaFX.

                • Создание простого приложения JavaFX, использование языка FXML для разметки приложения.

                • Коллекции JavaFX.

                • Работа с базами данных на Java, JDBC API

                  • Что такое база данных с точки зрения Java?

                  • Понятие драйвера БД. DriverManager.

                  • Установка сервера БД, настройка и подключение.

                  • Получение мета-данных из БД.

                  • Управление базами.

                  • Составление и выполнение запросов на языке SQL.

                  • Подготовленные запросы (PreparedStatement). Их важность и SQL-инъекции.

                  • Приложение с GUI для работы с базой данных

                    • Проектирование пользовательского интерфейса.

                    • Разработка классов для реализации задачи.

                    • Сборка и настройка приложения.

                    • Основы создания web-приложений на Java

                      • Архитектура распределенных приложений.

                      • Структура web-приложения.

                      • Сервлет на Java на примере JSF.

                      • Введение в использование фреймворков.