Курс Java Pro
Ви будете створювати круті та складні проєкти, використовуючи популярну мову Java
Мова Java впевнено тримається в перших рядках за популярністю, адже її простота відмінно поєднується з можливістю реалізувати складні архітектурні рішення. Вона відмінно підходить для розробки більших і складніших систем, а також програм, завдяки своїй універсальності.
Широке ком’юніті, яке сформувалося за довгий час існування мови, завжди допоможе знайти правильне рішення в тій чи іншій ситуації.
Програма розрахована на комплексне опанування мови Java, її синтаксису й можливостей, практичних навичок і теоретичних знань з написання як простих додатків, так і серйозніших проєктів. У такий спосіб ви зможете застосовувати знання в таких вужчих напрямках, як-от розробка мобільних програм або вебдодатків.
- Теорії без практики
- Застарілих механік роботи
- Переказу чужих лекцій і книг
- Питань без відповіді
Це буде захоплююче та ефективно!
(понад 16 000 випускників)
- Огляд парадигм програмування
- Огляд сучасних мов програмування
- Роль алгоритму у рішенні задач
- Поняття і властивості алгоритму
- Типи алгоритмів
- Поняття синтаксису і семантики мов програмування
- Змінні, типи даних, вирази і присвоювання значень змінним
- Подання даних у пам’яті комп’ютера: біти, байти і т.п.
- Найпростішие введення/виведення
- Умовні конструкції та їх різновиди
- Ітеративні конструкції (цикли)
- Одномірні масиви і робота з ними
- Двовимірні масиви і робота з ними
- Призначені для користувача об’єкти, їх властивості та методи
- Поняття асоціативного масиву і принципи роботи з ним
- Формат JSON
- Особливості роботи з рядками
- Особливості роботи з датами
- Опис функції
- Виклик функції
- Параметри функцій
- Передача параметрів з точки виклику в функцію
- Форми і робота з елементами управління на web-формах
- Події, обробка подій миші
- Історія мови Java
- Байт-код
- Віртуальна машина Java (JVM)
- Трансляція, інтерпретація й компіляція
- JIT-компіляція
- JDK та його структура
- Команди JDK: javac, java, appletviewer, jar (en10). Їхнє використання та параметри
- Пошук та завантаження класів
- Створення й запуск першого додатка на Java
- Вихід з програми та завершення її роботи
- Використання IDE Eclipse/NetBeans/Intellij IDEA для створення й виконання програм
- Алфавіт мови
- Коментарі
- Ключові слова
- Типи даних: прості (примітивні) та за посиланням
- Ідентифікатори, вибір імен ідентифікаторів
- Змінні й константи
- Оголошення та ініціалізація змінних
- Область видимості й час життя змінних
- Оператори
- Операції: арифметичні, привласнення, відносні й логічні
- Перетворення та приведення числових типів
- Пріоритет операцій
- Використання круглих дужок
- Складовий оператор (блок)
- Умовний оператор і його види
- Оператор switch
- Цикли: for, while, do while
- Нескінченні цикли
- Переривання потоку керування, мітки
- Оператор goto й причини уникнення його застосування
- Оголошення й ініціалізація масивів, зокрема анонімних
- Лінійні масиви
- Ітерація за елементами масиву
- Масиви та привласнення
- Передавання та повернення масивів до/з методів
- Копіювання масивів
- Клас Arrays: заповнення, порівняння елементів і їхнє сортування
- Пошук у масивах
- Багатовимірні масиви, «нерівні» масиви
- Методи: аргументи змінної довжини
- Параметри командного рядка
- Клас String. Незмінні об’єкти
- Зберігання рядків у пам’яті
- Основні операції класу String (створення, конкатенація, порівняння, пошук символів і підрядків у рядках та інше). Перетворення простих типів даних
- Розбивка рядків: клас StringTokenizer. Змінні об’єкти: класи StringBuffer і StringBuilder
- Основні методи. StringBuffer vs StringBuilder
- Поля й методи (визначення, синтаксис оголошення)
- Специфікатори доступу public і private
- Поля класів: ініціалізація явна та за замовчуванням, специфікатор final і константи
- Доступ до полів і методів
- Методи: параметри (посилання та прості типи) і повернені, використання set і get- методів, перезавантаження методів, правила перезавантаження
- Об’єктна модель. Основні положення: абстрагування, інкапсуляція, модульність, ієрархія
- Діаграми класів UML
- Об’єкти та класи. Об’єкти. Визначення (з прикладами). Стан. Поведінка
- Конструктори: конструктори за замовчуванням, виклик одного конструктора з іншого
- Блоки ініціалізації
- Статичні поля й методи: ініціалізація константи, статичні блоки ініціалізації. Використання this для доступу до членів класу
- Збір сміття та видалення об’єктів
- Залежності, їхні різновиди
- Узагальнення
- Асоціації
- Реалізації
- Зв’язки, їхня множинність
- Успадкування й поліморфізм як інструмент створення ПЗ. Суперклас і підкласи, відносини узагальнення, успадкування в Java. Виклик конструкторів суперкласів, порядок викликів. Ключове слово super ()
- Перевизначення методів, правила перевизначення. Успадкування та статичні поля й методи класів. Абстрактні класи та методи: поняття, виклик конструкторів, реалізація методів у субкласах
- Інтерфейси. «Множина» успадкування. Визначення та реалізація інтерфейсів. Розширення інтерфейсів. Композиція як альтернатива множинного спадкоємства
- Поліморфізм. Ієрархія успадкування
- Перетворення та приведення типів. Використання instance of. Відмова від успадкування: термінальні (final) методи та класи. Включення як альтернатива множинному спадкуванню
- Пакети. Вкладеність пакетів. Повторне використання коду та пакети. Захист доступу
- Імпорт: класів, статичних методів і полів
- Глобальний суперклас Object
- Методи equals (), hashCode (), toString (), finalize (), clone () таінші
- Правилареалізації equals () і hashCode ()
- Інтерфейс Cloneable і його реалізація
- Клонування: поверхневе і глибинне
- Синтаксис оголошення
- Створення об’єктів внутрішніх класів
- Поля й методи внутрішніх класів
- Вкладеність внутрішніх класів і доступ до членів зовнішніх класів
- Посилання this у внутрішньому класі
- Доступ до полів і методів зовнішнього класу з внутрішнього
- Внутрішні класи і специфікатор доступу
- Вкладені інтерфейси
- Застосування внутрішніх класів
- Внутрішнілокальнікласи (Method-LocalInnerClasses)
- Анонімні внутрішні класи
- Вкладені (внутрішні статичні) класи (static nested classes)
- Створення примірників
- Доступ до примірника з внутрішніми класами перерахування
- Компіляція програм з внутрішніми класами перерахування
- Перерахування і класи. Методи values (), valueof (), name (), ordinal ()
- Константи, конструктори, методи й поля
- Перерахування і конструкція switch. Імпорт членів перерахувань.
- Основи побудови реляційних баз даних
- SQL
- Нормальніформи. Запити SELECT, INSERT, UPDATE, DELETE
- JDBC
- Driver, Connection, Statement, ResultSet, PrepareStatement
- Підходи до обробки помилок часу виконання
- Поняття виключення і виняткової ситуації
- Ієрархія класів винятків у Java
- Контрольовані (що перевіряються) і неконтрольовані (не перевіряються) винятки
- Генерація виняткової ситуації й оператор throws
- Оголошення контрольованих винятків, ключове слово throws
- Throws і перезавантаження методів
- Перехоплення винятків
- Перехоплення «усіх» винятків
- Обробка винятків
- Повторна генерація винятків
- Блок finally: звільнення ресурсів
- Створення власної ієрархії винятків
- Реєстрація помилок, логування: логери, рівень логер, рівень повідомлень, обробники (об’єкти підкласу java.util.logging.Handler)
- Приклад
- Ієрархія класів потокового введення-виведення
- Потоки введення/виведення, механізм роботи з потоками, ієрархія потокового введення-виведення
- Субкласи FilterOutputStream і FilterInputStream
- Байтові потоки
- Символьні потоки
- Клас File. Клас RandomAccessFile
- Серіалізація й десеріалізація об’єктів: поняття, призначення, реалізація
- Приклад
- SWING, AWT. Приклад простого додатка з GUI
- Обробка подій
- Поняття абстрактного типу даних (АТД)
- Структури даних: списки, стеки, множини, дерева, мапи
- Обхід колекцій: інтерфейси Iterator і ListIterator, цикл «foreach»
- Компаратори
- Клас Collections: пошук і сортування елементів, заповнення, синхронізація уявлення, незмінні уявлення тощо
- Поняття формальної коректності та допустимості
- Парсинг, зберігання стану об’єктів
- Приклади
- Поняття потоку. Особливості паралельного виконання
- Потоки-демони
- Пріоритети потоків. Метод yield ()
- Стан потоку: створення потоків, -runnable і -runninig-потоки
- Документування коду
- Включення коментарів
- Документування пакетів
- Дескриптори загального призначення
- Коментарі до класів, методам і полям
- Використання javadoc
- Параметризовані типи: класи інтерфейси. Параметри типу
- Обмеження накладені на параметризовані типи: прості типи, інстанціювання, суперклас, виняток
- Параметризовані типи і JVM
- Форматування і час java.util, java.time
- Файлова система, java.io, Externalizable, java.nio
- Незмінні об’єкти
- Серіалізація та десеріалізація даних
- Декларативний опис проекту
- Керування залежностями
- Артефакти jar, war, ear
- Правила розробки власних фреймворків і бібліотек
- Ant the Java legacy build tool
- Maven POM
- Правила та принципи
- TDD
- Дублери
- Mockito & PowerMock
- Причини поліпшення підсистеми типів
- Raw Types
- Wildcards, <? super T>, <? extends T>
- Type Erasure
- Отримання інформації про тип generic у runtime
- Доопрацювання власної колекції
- Data Structure Complexity
- WeakHashMap та інші
- Сторонні бібліотеки колекцій
- Низькорівневий API
- Waiting/blocked/sleeping-потоки; стан потоку “dead”
- Отримання результатів виконання багатопотокових обчислень. Метод join()
- Синхронізація: синхронізація методів. Синхронізаційні блоки.
- Блокування. Взаємодія потоків (Thread Interaction)
- Синхронізація потоків, взаємодія потоків, шаблон “Producer-Consumer”
- Особливість реалізації volatile
- Java Memory Model (JMM)
- Публікація об’єктів
- Високорівневий API
- Бібліотека java.util.concurrent
- SOLID (базові принципи об’єктно-орієнтованого програмування та дизайну)
- Dependency injection (DI) and Inversion of control (IoC)
- Платформы, архитектура, байт-код
- ClassLoader, garbage collector
- Средства JVM для защищенного выполнения кода
- Sandbox
- Memory Management
- Performance Optimization
- Роль JAAS
- Inversion of Control
- Доступ до даних
- Керування транзакціями
- Потоковий аналіз на основі SAX. Аналіз на основі DOM
- Створення Java-класів за схемою
- Валідація. JSON
- Потоковий аналіз на основі SAX. Аналіз на основі DOM
- Створення Java-класів за схемою
- Валідація. JSON
- DDL & DML
- Primary Key та Foreign Key
- SQL Types
- JOINs
- Database Indexes
- Пул зв’язків
- Data Access Object
- Структура резюме
- FAQ
- Як вести себе на співбесіді
- Основні помилки на співбесіді
- Урок англійської мови №1
- Урок англійської мови №2
- Урок пошуку роботи
- Актуальні програми навчання
- Готовий проект після закінчення курсу
- Допомогу у працевлаштуванні після закінчення програми Roadmap
- Сертифікат про закінчення курсу