ClassLoader удерживает все загруженные им классы и их static поля. Если ClassLoader не может быть GC собран — все классы и всё что они держат в памяти тоже. В Metaspace это приводит к OutOfMemoryError: Metaspace. Типично при hot redeploy в Tomcat: новое приложение создаёт новый ClassLoader, старый не собирается из-за утечки. Диагностика через MAT: смотреть ClassLoader instances и что их держит (обычно ThreadLocal или library с static полями).
Что такое ClassLoader leak и как он проявляется?
Senior
224 просмотровAFK Offer AI
Что такое OpenAPI и как организовать Swagger в продакшен-проекте?