Как работает GC с non-heap памятью — Metaspace и CodeCache?

Senior
199 просмотров
AFK Offer AI

Metaspace хранит метаданные классов (вне heap, нет GC overhead для хранения). Очищается когда ClassLoader собирается GC — при undeploy или hotswap. -XX:MaxMetaspaceSize ограничивает. CodeCache хранит JIT скомпилированный код. Если CodeCache полон — JIT отключается и приложение деградирует к интерпретации. -XX:ReservedCodeCacheSize (дефолт 240MB). Признак: CodeCache is full warnings в логах. Решение: увеличить или уменьшить количество компилируемых методов.

Следующий вопрос

Как работает orphanRemoval в JPA и чем отличается от CascadeType.REMOVE?