Курс Java PRO у Києві
2 рази на тиждень
і хочете опанувати мову Java якомога швидше
аби опанувати світ ІТ
але прагнете змінити напрямок роботи
утім розумієте, що отриманих знань недостатньо
Писати мовою Java різні проєкти
Створювати свій завантажувач класів
Розробляти невеликі IoC-контейнери (маленький Spring)
Писати модульні тести й працювати за TDD
Ефективно користуватися англійською для спілкування з клієнтами та колегами
Грамотно презентувати себе працедавцеві
Теорії без практики
Застарілих механік роботи
Переказу чужих лекцій і книг
Питань без відповідей
Це буде захоплююче та ефективно!
(понад 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
- DDL & DML
- Primary Key та Foreign Key
- SQL Types
- JOINs
- Database Indexes
- Пул зв’язків
- Data Access Object
- Структура резюме
- FAQ
- Як вести себе на співбесіді
- Основні помилки на співбесіді
- Урок англійської мови №1
- Урок англійської мови №2
- Урок пошуку роботи
Зробіть перші кроки в навчанні під керівництвом практикуючих спеціалістів!
Завдання нашої команди — стати твоїм провідником у світ IT, підготувати тебе до IT-кар'єри максимально ефективно і, як наслідок, змінити твоє життя на краще. Ми випустили вже понад 16 000 IT-фахівців.
Детальніше про працевлаштування з ITEA ти можеш почитати тут.
У межах навчання на курсі Java Pro ми надаємо нашим студентам:
для кращого розуміння матеріалу
Особистий кабінет з доступом до матеріалів курсу
Допомога викладача чи ментора курсу
Актуальну програму навчання