JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Створення об’єктів через рефлексію

    JAVA 25 SELF
    62 рівень, 3 лекція
    Як створювати об’єкти та керувати класами «на льоту»: чому Class.newInstance() застарів, як коректно використовувати getConstructor/ getDeclaredConstructor і Constructor.newInstance, викликати методи через Method.invoke і читати/змінювати поля через Field. Розберемо типові винятки ( ReflectiveOperationException та ін.), обмеження модульної системи, корисні практики й міні‑утиліту для динамічної інстанціації. Плюс — наочна схема всього процесу.
    Відкрита
  • Рефлексія та Dependency Injection

    JAVA 25 SELF
    62 рівень, 4 лекція
    У цій лекції розглянемо практичне застосування рефлексії в Java: як за допомогою Class, Field і Method читати приватні поля ( setAccessible( true)) й створити простий серіалізатор; як DI‑контейнери впроваджують залежності на основі анотацій ( @Inject, @Autowired) через конструктори та поля; як динамічні проксі на базі Proxy і InvocationHandler перехоплюють виклики; де це застосовується на практиці ( Spring, JUnit, Jackson) й які обмеження та помилки трапляються.
    Відкрита
  • Основи логування: java.util.logging, Log4j, SLF4J

    JAVA 25 SELF
    63 рівень, 0 лекція
    Навіщо застосункам потрібні логи і чому простий System.out.println не рятує у продакшені. Розберемо рівні ERROR/ WARN/ INFO/ DEBUG/ TRACE, вбудований стек java.util.logging і файл налаштувань logging.properties, познайомимося з Log4j 2, Logback і фасадом SLF4J. Порівняємо з консольним виведенням, підключимо залежності та розглянемо типові помилки конфігурації й використання.
    Відкрита
  • Форматування та рівні логів: best practices

    JAVA 25 SELF
    63 рівень, 1 лекція
    Розбираємо, з чого складається якісне лог‑повідомлення (час, рівень INFO/ ERROR, ім’я логера, текст, стек), як правильно форматувати записи за допомогою шаблонів SLF4J/Log4j2 ( "{}" замість конкатенації), як логувати винятки ( logger.error(..., ex)), коли використовувати рівні ERROR/ WARN/ INFO/ DEBUG/ TRACE, а також найкращі практики: без чутливих даних, зрозумілі повідомлення, кореляційні ID ( orderId, userId) і коректна конфігурація log4j2.xml.
    Відкрита
  • Логування в багатопотокових і веб-застосунках

    JAVA 25 SELF
    63 рівень, 2 лекція
    Як зробити логи надійними в багатопоточності та вебі: потокобезпечність готових бібліотек ( Logback, Log4j 2, java.util.logging), контекст MDC із передаванням requestId, інтеграція зі Spring-фільтрами та обробниками помилок, відмінність від System.out, нюанси пулів потоків і трасування в мікросервісах (traceId, OpenTelemetry). Розбираємо практичні приклади й типові помилки, використовуємо SLF4J і Logger як static final поле.
    Відкрита
  • Моніторинг JVM: JMX, VisualVM, Java Flight Recorder

    JAVA 25 SELF
    63 рівень, 3 лекція
    Ця лекція — практичний посібник із моніторингу JVM: як читати стандартні метрики через JMX і JConsole, як візуально спостерігати за пам’яттю та потоками й профілювати методи у VisualVM (включно з heap dump і thread dump), а також як записувати «чорний ящик» за допомогою Java Flight Recorder і розбирати його у JDK Mission Control. Покажемо команди запуску ( -XX:StartFlightRecording), розберемо типові сценарії аналізу GC/потоків і типові помилки.
    Відкрита
  • Профілювання та оптимізація коду: інструменти, підходи

    JAVA 25 SELF
    63 рівень, 4 лекція
    Розбираємося, чим профілювання відрізняється від моніторингу, які метрики важливі (час роботи методів, пам’ять, потоки, блокування) та якими інструментами користуватися: VisualVM, Java Flight Recorder, а також комерційні профайлери. На практиці досліджуємо «повільний» калькулятор, вчимося шукати «гарячі точки», аналізувати heap dump і усувати вузькі місця за допомогою заміни алгоритмів, зменшення кількості виділень і кешування. Завершуємо візуальною схемою процесу оптимізації та розглядом типових помилок.
    Відкрита
  • Влаштування пам’яті в JVM: стек, купа, PermGen/Metaspace

    JAVA 25 SELF
    64 рівень, 0 лекція
    Куди потрапляють локальні змінні, об’єкти та метадані класів у процесі JVM: розбираємо стек потоків, купу та еволюцію PermGen → Metaspace. Поговоримо про те, як працює GC, які бувають помилки пам’яті ( StackOverflowError, OutOfMemoryError) і як впливають прапорці запуску ( -Xss, -Xmx, -XX:MaxMetaspaceSize). Схеми, діаграма Mermaid і робочий приклад додаються.
    Відкрита
  • Збирачі сміття: G1, ZGC, Shenandoah, порівняння

    JAVA 25 SELF
    64 рівень, 1 лекція
    У лекції розберемося, як працює збирач сміття ( GC) у JVM, чим відрізняються класичні Serial/ Parallel/ CMS від сучасних G1, ZGC і Shenandoah, що таке молоде та старе покоління, чому трапляються паузи Stop-the-World і як їх мінімізувати. На практиці подивимося, як вмикати різні GC за допомогою прапорців ( -XX:+UseG1GC, -XX:+UseZGC, -XX:+UseShenandoahGC), налаштовувати паузи ( -XX:MaxGCPauseMillis) і розміри купи ( -Xms/ -Xmx), читати логи ( -Xlog:gc*) та уникати типових помилок (наприклад, примусового виклику System.gc()).
    Відкрита
  • Локальні змінні, витоки пам’яті, слабкі посилання

    JAVA 25 SELF
    64 рівень, 2 лекція
    З лекції ви дізнаєтеся, де «живуть» локальні змінні (стек потоку) і чим він відрізняється від купи, чому в Java усе ж можливі витоки пам’яті, попри GC, і як їх уникнути. Розберемо реальні сценарії: «вічні» static‑колекції, не відписані слухачі та кеші. Познайомимося з родиною посилань: SoftReference, WeakReference, PhantomReference, а також контейнером WeakHashMap. Потренуємося виправляти витоки й обговоримо, чому виклик System.gc() — це лише підказка JVM, а не наказ, і чим може закінчитися OutOfMemoryError.
    Відкрита
  • Інструменти аналізу пам’яті: jmap, jvisualvm

    JAVA 25 SELF
    64 рівень, 3 лекція
    Практичний посібник з діагностики проблем із пам’яттю в JVM: знімаємо знімок купи ( heap dump) утилітою jmap, читаємо зведення через -heap і -histo, досліджуємо застосунок у jvisualvm (вкладки Monitor, Heap Dump, Threads, Profiler), розбираємо витік на прикладі та знайомимося з Eclipse MAT і jconsole. Наприкінці — поширені помилки та поради.
    Відкрита
  • Розбір типових помилок під час роботи з пам’яттю

    JAVA 25 SELF
    64 рівень, 4 лекція
    Практичний розбір того, чому Java‑застосунок може мати витоки пам’яті та пригальмовувати: забуті слухачі ( addActionListener/ removeActionListener), «вічні» статичні колекції, незакриті ресурси (порада: try-with-resources), анонімні/внутрішні класи, що утримують посилання, і зловживання System.gc(). Навчимося читати логи GC ( -Xlog:gc*, -XX:+PrintGCDetails), підбирати збирач, будувати кеші на WeakHashMap, здійснювати моніторинг ( jvisualvm, jconsole), аналізувати heap dump і правильно налаштовувати -Xmx/ -Xms. Наприкінці — реальні приклади витоків і їх виправлення.
    Відкрита
  • 1
  • ...
  • 27
  • 28
  • 29
  • 30
  • 31
  • ...
  • 57
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush