JavaRush
Акція
Університет
Java FullStack
Python FullStack
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
Українська
Програмістами не народжуються © 2025 JavaRush
MastercardVisa
Програмістами не народжуються © 2025 JavaRush