JavaRush
Акция
Университет
Java FullStack
Python FullStack
new
Web FullStack
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
  • Поддержка
JavaRushJavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
Русский
English Українська
"Программистами не рождаются" © 2026 JavaRush
MastercardVisa
"Программистами не рождаются" © 2026 JavaRush