Antes de vc executar o for vc imprimiu na tela quanto havia de memória livre, correto?
Executou o for que alocou vários objetos na memória, mas logo em seguida tirava a referência para o objeto, sendo assim deixando-o elegível pelo GC.
Quando termina o for e vc imprime novamente o tamanho da memória livre ele não é igual ao que vc imprimiu antes do for, pelo menos provavelmente não.
Vc vai e chama o coletor de lixo que deveria tirar da memória todos os objetos desreferenciados. Como o quando o GC é executado não é garantido. Provavelmente vc não irá ver na tela o mesmo valor inicial de memória livre.
Acho que é isso que esse exemplo quis mostrar.
Espero ter ajudado, boa sorte
marcioarend
Quando vc “força” a JVM a coletar o lixo ela nem sempre faz isso.
Não é pq um objeto poder ser excluido é que ele será excluido com certeza quando vc chama o GC.
O foda que vc tem saber destas coisas pra fazer o exame de certifição
Abraço
LPJava
nao entendi os valores apos o for…
T
thingol
Você podia postar os resultados desse código na sua máquina?