По порядку Middle JVM: память, GC, загрузка классов обновлено
Этапы жизни класса в JVM
Вопрос
Расставьте этапы загрузки класса по порядку.
Попробуйте сами
Расставьте шаги по порядку стрелками.
- 1Preparation: выделение памяти под static-поля с нулевыми значениями
- 2Resolution: замена символьных ссылок на прямые
- 3Loading: поиск байткода и создание объекта Class
- 4Initialization: выполнение static-блоков и инициализаторов
- 5Verification: проверка корректности байткода
Показать ответ и разбор
Коротко
Verification, preparation и resolution вместе называются linking. Resolution может происходить лениво, но в учебной модели идёт перед инициализацией.
Правильный порядок
- 1Loading: поиск байткода и создание объекта Class
- 2Verification: проверка корректности байткода
- 3Preparation: выделение памяти под static-поля с нулевыми значениями
- 4Resolution: замена символьных ссылок на прямые
- 5Initialization: выполнение static-блоков и инициализаторов
Разбор
Verification, preparation и resolution вместе называются linking. Resolution может происходить лениво, но в учебной модели идёт перед инициализацией. Static-блоки выполняются последними, один раз на класс.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Термины по теме
Ещё по теме «JVM: память, GC, загрузка классов»
- Делегирование загрузчиков
- JVM в контейнере
- Сборщик по умолчанию
- Escape analysis
- Этапы загрузки класса
- GC roots
- Области памяти JVM
- Виды ссылок