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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Влаштування пам’яті в 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. Наприкінці — реальні приклади витоків і їх виправлення.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush