У меня есть приложение Java с историей, и оно использует WeakReferences для кеширования. Я сделал несколько кучи и увидел, что все они содержат много объектов со слабыми ссылками (10% -15% от размера кучи, ~ 1,2 ГБ).Когда GC удаляет объекты, имеющие только слабые ссылки?
- Означает ли это, что слабые ссылки создают давление памяти на JVM?
- И заставляет FullGC останавливать паузу?
P.S. Я знаю, что WeakReference производит ограничение производительности для GC для CMS, потому что это делает алгоритм более сложным. Но видел ли кто-нибудь документ или какую-то официальную информацию об этом? Я нашел только это SO post.
Спасибо за ваш ответ, но он не отвечает на мой вопрос :) Для кеша я предпочитаю [Encache] (http://www.ehcache.org), потому что у него много опций, фасоль, статистика, и т. д. Но в случае этой темы я интересуюсь **, когда ** GC удаляет объекты с помощью WeakReference. – Jimilian