Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Quando ao remover da lista ligada

Na minha faculdade aprendi a me desfazer do objeto quando removo de uma lista ligada, aqui no vídeo da aula de lista ligada, removemos o objeto do inicio da lista, mas não excluímos ele, ou definimos que ele iria ser nulo, até quando isto impacta na performance ou no uso do algoritmo?

Digo, fiz exercícios que mostram que para 100, 1000 casos de insertação utilizando o for da primeira lista e utilizando a variável de total, tem uma diferença absurda. Como eu posso me garantir se eu remover 100, 10000 objetos, a JVM vai de fato apagar esses elementos, e não deixar consumindo memória.

Obrigado, Eduardo.

1 resposta
solução!

Oi Eduardo,

A JVM vai lidar com esses objetos não referenciáveis com o Garbage Collector, que irá coletar esse "lixo" e liberar a memória. Algoritmos antigos de GC geralmente fazem essa operação quando você tenta alocar um novo bloco de memória e não têm espaço, e ai o GC vêm e tenta liberar esse espaço pra você(só isso já resolveria o seu problema).

Porém o algoritmo de GC da JVM é muito mais avançado que isso, então acho que você não precisa se preocupar quanto a esse consumo de memória.

Você pode ver um pouco mais sobre o Garbage Collector da JVM aqui(em inglês): http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html