← Тренажёр / JVM под капотом · теория

⚙️ JVM под капотом

Уровни 1–2 бесплатно, 3–4 — по подписке. В таблице кликни вопрос, чтобы увидеть ответ.

😕 база🤓 уверенно🧐 глубоко 🔒😎 про 🔒
JVM / JRE / JDK
🔒 Как JVM исполняет программу от .class до результата?
🔒 Какие особенности у HotSpot JVM?
🔒 Как JVM управляет стеком и кучей во время выполнения?
🔒 Опиши полный процесс загрузки класса в JVM.
Загрузчики классов
🔒 Как работает делегирование загрузки между загрузчиками?
🔒 Зачем и как писать собственный ClassLoader?
🔒 Что будет, если два загрузчика загрузят классы с одинаковым именем?
🔒 Как модель делегирования влияет на пространство имён классов?
Память (Heap / Stack)
🔒 Чем различаются Young и Old поколения в куче?
🔒 Что такое Direct Memory и как он влияет на производительность?
🔒 Как JVM хранит интернированные строки и чем это чревато?
🔒 Какие ещё области runtime data areas есть помимо кучи и стека?
JIT-компиляция
🔒 Какие оптимизации применяет JIT-компилятор?
🔒 Как JVM решает, какой метод компилировать JIT-ом?
🔒 Что такое деоптимизация и когда она происходит?
🔒 Чем отличаются реализации JIT в HotSpot и GraalVM?
Сборка мусора (GC)
🔒 Чем Mark-Sweep отличается от Copying-сборки?
🔒 Плюсы и минусы G1 по сравнению с CMS?
🔒 Какие приёмы используют сборщики для сокращения пауз?
🔒 Чем ZGC / Shenandoah отличаются от классических сборщиков?
JMM (модель памяти)
🔒 Что такое отношение happens-before? Приведи пример.
🔒 Что такое reordering и как он влияет на многопоточность?
🔒 Как final обеспечивает безопасную публикацию объекта?
🔒 Какие проблемы даёт неправильная ленивая инициализация в многопоточности?
Открыть уровни 3–4 на Boosty →