Bug no IO - Close Java

Bom dia pessoal,
Tenho um exemplo abaixo,

	public void xmldump(String bufferName, Dumpable d) {
		if (!validate(d, Dumpable.class)) {
			return;
		}

		OutputStream os = createXMLOutputStream(bufferName);
		d.dump(os);

		try {
			os.close();
		} catch (IOException e) {
			error(e.getMessage());
			e.printStackTrace();
		}
	}

Essa rotina faz o fechamento do arquivo, porém a memória não é liberada, como eu tenho um numero muito grande, começa a ter problemas no de memória no meu servidor, vocês já passaram por isso ?!

OBrigado

o Garbage Collector é responsável por liberar a memória. Ele só pode fazer isso desde que nenhuma referência à objetos sejam acessíveis, e ele também vai julgar quando fazer isso, pois é um processo oneroso ao sistema.

Por exemplo, esse seu d pode estar segurando referência para o os e dificultando a vida do GC. Mas é um chute completo.

PS: coloca tags code para deixar seu código mais amigável de ler aqui :slight_smile: