Встречается на собеседованиях • сегодня
Какие классы в Metaspace знаешь
Metaspace хранит метаданные классов, загруженных JVM. Основные типы данных:
- Class metadata — информация о классах (имя, методы, поля, аннотации)
- Constant Pool — пул констант класса
- Method metadata — байт-код, сигнатуры методов
- Annotations — метаданные аннотаций
- JIT-код — скомпилированный нативный код (в некоторых JVM)
Пример утечки в Metaspace:
java
public class MetaspaceLeak {
static javassist.ClassPool cp = javassist.ClassPool.getDefault();
public static void main(String[] args) throws Exception {
for (int i = 0; ; i++) {
Class<?> c = cp.makeClass("GeneratedClass" + i).toClass();
}
}
}Здесь бесконечно генерируются классы, заполняя Metaspace. В отличие от PermGen, Metaspace по умолчанию динамически расширяется, но может упереться в лимиты ОС.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы