В продакшене после прогрева JIT-компиляция новых методов прекращается, хотя процессор не загружен. Какой ресурс JVM следует проверить первым?
База Hintsage
JVM и память
Загрузка классов, память JVM, GC, JIT и диагностика.
Практика
Вопросы: JVM и память
После обновления библиотеки JVM выдаёт VerifyError ещё до выполнения метода. Какой этап загрузки класса объясняет отказ?
Сравните reserved и committed память JVM: что означает ситуация, когда committed заметно меньше reserved?
Профилировщик показывает, что после mixed GC в G1 часть старого поколения всё ещё занята недостижимыми объектами. Какой механизм объясняет их временное сохранение?
Кэш использует SoftReference, но после обычной сборки мусора часть записей исчезает при свободном heap. Какую гарантию на время жизни таких ссылок даёт JVM?
Класс успешно загружен, но ошибка из-за отсутствующей зависимости возникает только при первом обращении к конкретному методу. Какой механизм JVM объясняет такое поведение?
В дампе heap объект занимает 32 байта, но его retained size составляет 2 ГБ. Какой вывод следует сделать?
После смены профиля вызовов ранее быстрый метод внезапно теряет производительность. Объясните механизм JVM, который может вызвать такой эффект.
Два потока одновременно впервые обращаются к одному классу, чей статический инициализатор выполняется долго. Как JVM координирует эти обращения?
Разберите, почему вызов System.gc() не позволяет сделать вывод, что недостижимые объекты уже освобождены.
Сервис освобождает нативный ресурс через PhantomReference, но ссылка в ReferenceQueue появляется не сразу после потери обычной ссылки. Что JVM гарантирует в этом случае?
Объект пережил несколько молодых сборок, но не был перемещён в старое поколение. Какой механизм JVM объясняет это?
После увеличения максимального размера heap приложение стало потреблять больше памяти на те же объекты. Какой механизм JVM может объяснить это изменение?
Heap остаётся свободным, но приложение получает OutOfMemoryError: Direct buffer memory. Какой механизм объясняет это расхождение?
Увеличение размера heap не устраняет StackOverflowError при глубокой рекурсии. Какой ресурс JVM ограничивает глубину вызовов?
При профилировании видно, что многопоточное приложение создаёт объекты без заметной конкуренции за heap. Как JVM обычно достигает этого?
В плагинной системе загрузчик одного плагина не находит класс, доступный загрузчику соседнего плагина. Как модель делегации загрузчиков объясняет эту ошибку?
Зачем JVM фиксирует изменения ссылок из старого поколения в молодое?
Кэш хранит значения через слабые ссылки, но после сборки мусора часть записей исчезает. Какой механизм JVM делает это возможным?
Объясните механизм, благодаря которому JVM переводит уже выполняющийся длинный цикл в машинный код, не дожидаясь выхода из метода.
Показано 21–40 из 50