Выбор ответа Middle JVM: память, GC, загрузка классов обновлено

Metaspace

Вопрос

Что хранится в Metaspace?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Метаданные загруженных классов, в нативной памяти вне кучи. Metaspace (с Java 8 вместо PermGen) хранит структуры классов: методы, байткод, константные пулы.

Варианты ответа

  1. Строки из пула строк и интернированные литералы классов
  2. Метаданные загруженных классов, в нативной памяти вне кучиправильный ответ
  3. Статические поля и объекты, на которые они ссылаются
  4. Скомпилированный JIT-ом машинный код горячих методов

Разбор

Metaspace (с Java 8 вместо PermGen) хранит структуры классов: методы, байткод, константные пулы. Он в нативной памяти и по умолчанию не ограничен (ограничивают -XX:MaxMetaspaceSize). Пул строк с Java 7 в куче. Объекты, на которые ссылаются статические поля, тоже в куче. Машинный код хранится в code cache.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме