Sobes.tech
Senior

O que é um vazamento de memória em Java, mesmo com o coletor de lixo?

sobes.tech IA

Resposta da IA

Uma fuga de memória em Java é uma situação em que objetos que não são mais necessários para a aplicação permanecem acessíveis a partir de referências raiz e não são removidos pelo coletor de lixo. Apesar da coleta automática de lixo, se o programa continuar a manter referências a objetos desnecessários (por exemplo, em coleções, caches ou campos estáticos), a memória não será liberada, levando ao aumento do consumo de memória e possivelmente a um OutOfMemoryError.

Exemplo: se numa lista forem constantemente adicionados objetos, mas os objetos obsoletos não forem removidos, a lista crescerá e a memória não será liberada, mesmo que os objetos não sejam utilizados na lógica do programa.