Базовий курс Java

38000,00 

Код курса: JVFND
Тривалість: 45 годин / 15 занять

Дивіться розклад


Телефонуйте зараз щоб дізнатися більше:

Телефон
+38 098 805 4511

Артикул: JVFND Категорія:

Про курс

Курс призначений для студентів, які хочуть навчитися програмувати на основі платформи Java Standard Edition. Ми навчимо Вас розробці та налагодженні аплікацій, познайомимо з основними елементами технології та конструкціями мови Java Standard Edition, основними архітектурними та проектировочними прийомами в рамках платформи. Ви навчитеся основам Web-програмування та дізнаєтеся про мережеві можливості Java. Під керівництвом викладача самостійно напишіть програмний проект та презентуєте його.

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

  • Розробляти, проводити налагодження програм та впроваджувати аплікації в рамках платформи JavaSE
  • Використовувати основні елементи технології та конструкції мови JavaSE, архітектурні та проектувальні прийоми в рамках платформи

Детальніше про Java


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

Загальна характеристика мови Java

  • Історія мови Java. Байт-код. Віртуальна машина Java (JVM). Трансляція, інтерпретація та компіляція. JIT-компіляція. JDK та його структура. Команди JDK: javac, java, appletviewer, jar (en10). Їх використання та параметри. Пошук та завантаження класів. Створення та запуск першої програми на Java. Вихід із програми та завершення її роботи. Використання Eclipse та NetBeans IDE: створення та виконання прикладних програм.

Типи даних та основні операції з ними

  • Алфавіту мови. Коментарі. Ключові слова. Прості (примітивні) типи даних. Ідентифікатори, вибір імен ідентифікаторів. Змінні та константи. Оголошення та ініціалізація змінних. Типи даних: прості та за посиланням. Область видимості та час життя змінних. Оператори. Операції: арифметичні, привласнення, відносини та логічні. Перетворення та приведення числових типів. Пріоритет операцій. Використання круглих дужок.

Потік керування

  • Складовий оператор (блок). Умовний оператор та його види. Цикли: for, while, do while. Нескінченні цикли. Оператор switch. Переривання потоку керування, мітки. Оператор goto.

Масиви

  • Оголошення та ініціалізація масивів, у т.ч. анонімні. Лінійні та багатовимірні масиви, «нерівні» масиви. Ітерація щодо елементів масиву. Масиви та присвоєння. Передача та повернення масивів в/з методів. Копіювання масивів. Клас Arrays: заповнення, порівняння елементів та їх сортування. Пошук у масивах. Параметри командного рядка. Методи: аргументи змінної довжини.

Введення в ОВП. Введення у UML.

  • Об’єктна модель:
  • Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
  • Об’єкти та класи:
  • Об’єкти
  • Визначення (з прикладами)
  • Стан
  • Поведінка
  • Операції
  • Ідентичність
  • Інкапсуляція
  • Класи та інтерфейси:
  • UML. Нотація UML. Діаграми класів.
  • Відношення між об’єктами
  • Залежності, їх різновиди
  • Резюме
  • Асоціації
  • Реалізації
  • Зв’язки, їх множинність

Об’єкти та класи

  • Класи. Поля та методи (визначення, синтаксис оголошення). Специфікатори доступу public і private
  • Поля класів: ініціалізація явна та за замовчуванням, специфікатор final та константи. Доступ до полів та методів
  • Методи: параметри (посилання та прості типи) та повертаються, використання setта get-методів, перезавантаження методів, правила перезавантаження, ключове слово strictfp
  • Конструктори: конструктори за замовчуванням, виклик одного конструктора з іншого
  • Блоки ініціалізації
  • Статичні поля та методи: ініціалізація константи, статичні блоки ініціалізації. Використання цього для доступу до членів класу
  • Збір сміття та видалення об’єктів

Спадкування та поліморфізм. Пакети.

  • Спадкування та поліморфізм як інструмент створення ПЗ. Суперклас та підкласи, ставлення узагальнення, успадкування в Java. Виклик конструкторів суперкласів, порядок дзвінків. Ключове слово super()
  • Перевизначення методів, правила перевизначення. Спадкування та статичні поля та методи класів. Абстрактні класи та методи – поняття, виклик конструкторів, реалізація методів у субкласи
  • Інтерфейси. «Множинне» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинному успадкування
  • Поліморфізм. Ієрархія наслідування
  • Перетворення та приведення типів. Використання встановцівід. Відмова від успадкування: термінальні (final) методи та класи. Включення як альтернатива множинному успадкування
  • Пакети. Вкладення пакетів. Повторне використання коду та пакети. Захист доступу. Імпорт: класів, статичних методів та полів

Клас Object

  • Глобальний суперклас Object
  • Методи equals(), hashCode(), toString(), finalize(), clone() та ін.
  • Правила реалізації equals() та hashCode()
  • Інтерфейс Cloneable та його реалізація
  • Клонування: поверхневе та глибоке

Внутрішні класи Перелік

  • Синтаксис оголошення
  • Створення об’єктів внутрішніх класів
  • Поля та методи внутрішніх класів
  • Вкладення внутрішніх класів та доступ до членів зовнішніх класів
  • Посилання це у внутрішньому класі
  • Доступ до полів та методів зовнішнього класу з внутрішнього
  • Внутрішні класи та специфікатори доступу
  • Вкладені інтерфейси
  • Застосування внутрішніх класів
  • Внутрішні локальні класи (Method-LocalInnerClasses)
  • Анонімні внутрішні класи
  • Вкладені (внутрішні статичні) класи (статичні класи)
  • Створення екземплярів
  • Доступ до екземпляра зовнішнього класу
  • Компіляція програм із внутрішніми класами
  • Перелік. Перерахування як класи. Методи values(), valueof(), name(), ordinal(). Константи, конструктори, методи та поля
  • Перерахування та конструкція switch. Імпорт членів перерахувань

Презентація програмного проекту.

  • Клас String. Постійні об’єкти
  • Зберігання рядків у пам’яті
  • Основні операції класу String (створення, конкатенація, порівняння, пошук символів та підрядків у рядках та ін.). Перетворення найпростіших типів даних. Розбивка рядків: клас StringTokenizer. Змінні об’єкти: класи StringBuffer та StringBuilder
  • Основні методи. StringBuffer vs StringBuilder
  • Класи BigInteger та BigDecimal. Основні операції
  • Документування коду
  • Включення коментарів
  • Документування пакетів
  • Дескриптори загального призначення
  • Коментарі до класів, методів та полів
  • Використання javadoc

Обробка помилок та виключення

  • Підходи до обробки помилок часу виконання
  • Поняття виключення та виняткової ситуації
  • Ієрархія класів виключень у Java
  • Контрольовані (що перевіряються) та неконтрольовані (не перевіряються) винятки
  • Генерація виняткової ситуації та оператор throw
  • Оголошення контрольованих винятків, ключове слово throws
  • throws та перезавантаження методів
  • Перехоплення винятків
  • Перехоплення «всіх» винятків
  • Обробка винятків
  • Повторна генерація винятків
  • Блок finally: звільнення ресурсів
  • Створення власної ієрархії винятків
  • Реєстрація помилок, логування: логери, рівень логгер, рівень повідомлень, обробники (об’єкти підкласу java.util.logging.Handler)
  • приклад

Рефлексія

  • Основні можливості Reflection API
  • Клас Class
  • Використання Reflection API для отримання вказівників на функції
  • Використання Reflection API для доступу до приватних членів

Система введення-виведення

  • Потоки, ієрархія класів потокового введення-виведення: поняття потоку, потоки введення/виводу, механізм роботи з потоками, ієрархія потокового введення-виводу
  • Субкласи FilterOutputStream та FilterInputStream
  • Байтові потоки
  • Символьні потоки
  • Клас File. Клас RandomAccessFile
  • Серіалізація та десеріалізація об’єктів: поняття, призначення, реалізація
  • приклад
  • Інтерфейс Externalizable

Універсальні типи. Класи колекцій

  • Параметризовані типи: класи та інтерфейси. Параметри типу
  • Обмеження накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток. Параметризовані типи та JVM
  • Поняття абстрактного типу даних (АТД)
  • Структури даних: списки, стеки, множини, дерева, карти
  • Обхід колекцій: інтерфейси Iteratorта та ListIterator, цикл «foreach»
  • Компаратори
  • Клас Collections: пошук та сортування елементів, заповнення, синхронізований уявлення, незмінні уявлення та ін.

Багатопоточність

  • Концепція потоку. Стан потоку: створення потоків, -runnable і -runninig – потоки, waiting / blocked / sleeping-потоки, стан потоку dead
  • Пріоритети потоків. Метод yield()
  • Метод join(). Потоки-демони
  • Синхронізація: синхронізація методів, синхронізаційні блоки. Отримання lock об’єкта та блокування. Взаємодія потоків (ThreadInteraction)

Робота з базами даних

  • Основи побудови баз даних. Нормальні форми. Запити SELECT, INSERT, UPDATE, DELETE
  • JDBC
  • Driver, Connection, Statement, ResultSet. Пул з’єднань. Data Access Object

Робота з XML

  • Знайомство з XML. Поняття формальної коректності та допустимості. Потоковий аналіз з урахуванням SAX. Аналіз на базі DOM. Генерація Java-класів за схемою

Нове в Java8

Мережеві можливості Java

  • Клас URL. Клас URLConnection. Сокети

Технологія RMI

  • Загальні уявлення про технології розподіленого програмування. Принципи організації RMI

Java Beans

  • Поняття про Java Beans
  • Проблема persistence. Збереження біна у XML-файлі

Основи веб-програмування

  • Принципи клієнт-серверної взаємодії
  • Поняття та життєвий цикл сервлету
  • Організація JSP-сторінки
  • Зумовлено змінні
  • Взаємодія JSP і JavaBeans
  • Передача даних між сторінками
  • Область видимості бина

Інверсія управління в Java.

  • Поняття Inversion of Control
  • Характеристика SpringIOC
  • Контрольний тест

Захист програмного проекту

Мінімальні вимоги до учасників

  • Базові знання процедурного та об’єктно-орієнтованого програмування

Ім’я
Номер, за яким з Вами можна зв'язатись
Ваша адреса електронної пошти

📩  info@sso.net.ua
☎️  38 098 805 45 11

✉️📅☎️🔝