1
resposta

Liberar Memória de uma Thread em tempo de execução de um processo

Pessoal boa noite, tenho uma rotina que está consumindo muita memória, mesmo colocando null após a interação de cada objeto, a memória só está sendo liberada no final do processo, quando recrio toda a lista com "new" e a thread termina. Como poderia liberar memória antes que a thread se encerre, ou seja em tempo de execução da rotina.

1 resposta

Oi Luis, você pode tentar chamar um System.gc(), que é um indicativo que a jvm deveria passar o gc naquele momento.. se sua vm for da oracle, ela até vai tentar passar, mas não é garantido.

O problema aí é que sua aplicação quer pegar uma responsabilidade que é da jvm.. talvez vc possa buscar usar outros tipos de objetos ou mudar alguma coisa no seu algoritmo mesmo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software