Ловушки утечки памяти в стандартном API Java
Какие классы Java Standard API могут вызывать утечки памяти при использовании (не очевидно) неверным способом? И как можно избежать / устранить эти утечки памяти?
Пример: ObjectInputStream
а такжеObjectOutputStream
сохраняйте ссылки на все объекты, которые они видели, чтобы посылать последующие вхождения того же объекта в качестве ссылок, а не копий (и тем самым иметь дело с циклическими ссылками). Это вызывает утечку памяти, когда такой поток остается неопределенным (например, при его использовании для связи по сети).
Fix: Вызывайте reset () периодически или после каждого объекта верхнего уровня.